Windows电脑禁用某个软件的网络权限__搜狗输入法
#Requires -Version 5.1
#Requires -RunAsAdministrator
function Disable-Network {
param (
[string] $folderName
)
if (($result = Read-Host "Press enter to accept default folder: $folderName") -ne '') {
$folderName = $result
}
Remove-NetFirewallRule -DisplayName "Sogou Pinyin Service" -ErrorAction Ignore
$displayName = "blocked $folderName via script"
Remove-NetFirewallRule -DisplayName $displayName -ErrorAction Ignore
Write-Host "Adding rules..."
$count = 0
Get-ChildItem -Path $folderName -Recurse *.exe | ForEach-Object -Process {
New-NetFirewallRule `
-DisplayName $displayName `
-Direction Inbound `
-Program $_.FullName `
-Action Block `
| out-null
New-NetFirewallRule `
-DisplayName $displayName `
-Direction Outbound `
-Program $_.FullName `
-Action Block `
| out-null
$count += 2
}
Write-Host "Successfully added $count rules"
}
Disable-Network -folderName "C:\app\sogou"
理论上这个由PowerShell运行的脚本,可以通过创建防火墙规则来阻止指定文件夹中的所有.exe文件进行网络通信。
由于我的搜狗输入法的安装目录是C:\app\sogou
,即对应脚本中变量folderName的值,因此你需要替换为你自己电脑中搜狗输入法的安装目录(默认为C:\Program Files (x86)\SogouInput
)。
保存至桌面后(如果你觉得在PowerShell中切换目录比较麻烦,可以直接保存在这个路径下 C:\Windows\system32
),win+x
打开PowerShell(管理员)
切换至保存脚本的路径,然后./run.ps1
运行脚本即可。
至此,已经禁止了搜狗输入法安装目录下的网络访问权限,可以打开 Windows Defender 防火墙 --> 高级设置
,查看关于搜狗输入法的入站规则和出站规则以及全部被禁止网络权限了。
参考:https://github.com/yongxin-ms/DisableSogouNetwork