PS 的 NetSecurity 模块中客户端“本地组策略”的正确路径

PS 的 NetSecurity 模块中客户端“本地组策略”的正确路径

因此,默认情况下,Windows 客户端操作系统(以及服务器,在某种程度上)有 2 个默认的 Windows 防火墙策略:奇怪的local firewalllocal group policy。在网络管理员您可以轻松地在它们之间切换:

netsh advfirewall set store gpo=COMUTERNAME
netsh advfirewall set store local

默认始终是本地的。

我无法弄清楚 powershell 的“NetSecurity”模块中新 cmdlet 中本地 GPO 的正确路径是什么。语法是:

New-NetFirewallRule -DisplayName “Block Outbound Telnet” -Direction Outbound -Program %SystemRoot%\System32\tlntsvr.exe –Protocol TCP –LocalPort 23 -Action Block –PolicyStore domain\gpo_name

(取自这里

我试过了COMPUTER\LocalCOMPUTER\Local Group Policy但没成功。一定有办法查看本地 GPO 的正确路径/名称。

答案1

New-NetFirewallRule有很多选项对于-PolicyStore,但要针对本地主机规则而不是组策略对象,只需使用以下任一项:

  • PersistentStore:将其添加到本地防火墙策略的自定义规则部分。在此存储中创建的规则将附加到 ActiveStore 并立即在计算机上激活:

    New-NetFirewallRule -PolicyStore PersistentStore
    
  • localhost:(不是计算机名称)将规则添加到本地组策略:

    New-NetFirewallRule -PolicyStore localhost
    
  • ActiveStore:定位当前活跃的商店(Local默认)

     New-NetFirewallRule -PolicyStore ActiveStore
    

编辑:我验证此命令确实在本地安全策略中创建了一条规则:

New-NetFirewallRule -Name TestRule1 -DisplayName TestRule1 -Protocol TCP -LocalPort 5004 -Action Allow -Direction Inbound -PolicyStore localhost

您可以使用相同的策略库查看它

Get-NetFirewallRule -DisplayName Test* -PolicyStore LocalHost

但是,从 localhost 策略存储中的 powershell 创建的此规则似乎不会自动附加到 ActiveStore。Get-NetFirewallRule -DisplayName Test* -PolicyStore ActiveStore将显示从 secpol UI 创建的规则,但不显示从 powershell 创建的规则。可能需要重新启动或使用其他参数才能启用?

相关内容