利用powershell修改加载项启用状态

$wpsjson= "$env:APPDATA\Kingsoft\wps\jsaddons\authaddin.json"
$jsonContent = Get-Content -Path $wpsjson -Raw -Encoding UTF8
$jsonObject = $jsonContent | ConvertFrom-Json
$arr = @("et","wps","wpp")
foreach($kso in $arr){
    $namelist = $jsonObject.$kso.namelist -split ";" 
        if($namelist.Length -gt 1){
        $namelist | ForEach-Object {        
             #Write-Host "加载项名称 : $($jsonObject.$kso.$_.name)"
            $enabled = Read-Host "加载项名称 : $($jsonObject.$kso.$_.name),当前启用状态: $($jsonObject.$kso.$_.enable),    设置启用状态:y 为启用 ,其他任意字符 为 停用"
            if($enabled -eq "y"){
                $jsonObject.$kso.$_.enable = $true
            }else{
                $jsonObject.$kso.$_.enable = $false
            }
        
        }
    } 
    
}

$jsonFileDataToWrite = $jsonObject | ConvertTo-Json
$jsonFileDataToWrite | Out-File $wpsjson -Encoding UTF8

可以直接在powershell管理员窗口运行命令。也可以在任意目录下,记事本保存代码为utf-8格式的扩展名为ps1的powershell脚本文件。如果不允许运行ps1脚本文件。在powershell管理员窗口运行命令:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser                    

也可以直接粘贴,运行代码。

黑龙江省
浏览 83
1
2
分享
2 +1
2
1 +1
全部评论 2
 
wils
wils

创作者俱乐部成员

#ANSI字符编码&cls&powershell -Version 5.1 -NoLogo -NoProfile -Command "gc -Encoding Oem -ReadCount 0 -LiteralPath '%~f0'|out-string|iex"&pause&exit/b
· 海南省
回复
wils
wils

创作者俱乐部成员

分享个批处理论坛的小技巧 ps1脚本开头加上这句注释,再将ps1后缀改成bat,给用户可以直接双击来用,且绕过了权限问题
· 海南省
1
回复