我知道我可以这样启用它:
netsh advfirewall防火墙设置规则组=“ Network Discovery” new enable =是
或这样禁用它:
netsh advfirewall firewall set rule group="Network Discovery" new enable=No
但是在我的情况下,这是重要的部分,我不想仅启用或禁用它,我只需要检查其状态(打开或关闭)即可。
我试图像这样在show rule
中使用netsh
:
netsh advdirewall firewall show rule="all" | find "Network Discovery"
这向我显示了50
包含名称Network Discovery
的不同规则,例如Network Discovery (Pub WSD-Out)
和Network Discovery (WSD Evebts-Out)
。使用上述set rule group="Network Discovery"
时,所有这些都将更改。因此,我不知道这些50
规则中的哪一个是当前正在使用的规则,因此无法看到如何使用show rule
来检查其当前状态。
如果我可以找到一种检查当前使用的规则名称的方法,则可以使用netsh show rule
有没有办法找到那个?或一些更好的方法来检查Network Discovery
或File and Printer Sharing
是打开还是关闭。
答案 0 :(得分:0)
一个简单的选择是直接通过PowerShell-或通过从CMD调用的PowerShell,您可以运行:
Get-NetFirewallRule -DisplayGroup "File and Printer Sharing"
或
Get-NetFirewallRule -DisplayGroup "Network Discovery"
然后,您可以使用PowerShell cmdlet和输出过滤来搜索您要查找的内容。例如:
Get-NetFirewallRule -DisplayGroup "Network Discovery" -Enabled True -Action Allow -Direction Inbound
要从CMD运行命令,您可以执行以下操作:
powershell -command "Get-NetFirewallRule -DisplayGroup 'Network Discovery' -Enabled True -Action Allow -Direction Inbound"
此外,也可以在serverfault.com
上询问类似的服务器管理问题,以供将来参考。