我想在 windows防火墙中阻止 chrome.exe 。完成任务的命令是
netsh advfirewall firewall add rule name="Block Chrome" dir=out action=block program="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" enable=yes'
通过 PowerShell 发出上面的命令可以正常工作。但是当我尝试这样做时 在的的NodeJS
const execSync = require('child_process').execSync,
command = 'netsh advfirewall firewall add rule name="Block Chrome" dir=out action=block program="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" enable=yes'
const result = execSync( command )
console.log( result )
它打印
Ok.
通过输出,我假设被获取执行命令。但 Chrome浏览器是没有得到受这一点。它仍然可以访问互联网。
当我在 PowerShell 中运行相同的命令时,它会立即阻止chrome。我想知道为什么在 Nodejs 上运行命令无法按预期运行?
鉴于 Nodejs具有管理员权限,这里可能是什么问题?
答案 0 :(得分:1)
您需要转义反斜杠:
command = 'netsh advfirewall firewall add rule name="Block Chrome" dir=out action=block program="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" enable=yes'