【发布时间】:2018-08-20 10:39:44
【问题描述】:
我正在创建一个批处理脚本来运行多个命令以启用 winrm、更改网络类别等,我遇到了 netsh 命令的问题,特别是 netsh advfirewall firewall set rule group=”Network Discovery” new enable=yes
在研究并弄乱了 UAC 和注册表之后,我明白了我的问题:Windows 语言。
所以命令将规则设置为Network Discovery,但是在我的语言(顺便说一句)中,该组称为Deteção de Rede,因此使脚本无法在具有不同语言的多台 Windows 机器上运行,从而使用户手动启用网络共享。
我的问题是:是否有全局方式调用Network Discovery 组?还是创建一个链接到它的新组?
顺便说一句,这是我的脚本:
@ECHO ON
REM Run as admin
powershell.exe /c Get-NetConnectionProfile;
powershell.exe /c Set-NetConnectionProfile -NetworkCategory Private;
powershell.exe /c netsh advfirewall firewall set rule group=”Deteção de Rede” new enable=yes
cmd.exe /c winrm quickconfig -q
cmd.exe /c winrm set winrm/config/service @{AllowUnencrypted="true"}
cmd.exe /c winrm set winrm/config/service/auth @{Basic="true"}
@ECHO Done.
【问题讨论】:
-
是否有另一个命令可以列出组?
netsh firewall dump在你的机器上生产什么? -
它什么也没产生。我现在正在尝试生成一个循环来输出并将 LCID 保存为变量,以便在 if 条件下使用它,并以正确的语言对组使用命令
-
感谢最后一个链接。现在我只需要找到
FirewallAPI的附加即可启用网络共享
标签: windows powershell networking cmd