PowerShell 防火墙管理

Jas*_*son 2 windows powershell firewall windows-firewall

我有很多机器需要为 GPO 更新启用远程计划任务管理 (RPC)、远程计划任务管理 (RPC-EPMAP) 和 Windows Management Instrumentation (WMI-in)。

我想运行一个 PowerShell 脚本,所以我不必手动执行此操作。但是,我是 powershell 的新手。

当我在机器上手动添加规则时,有没有办法获得 powershell 命令?

编辑:

这是我发现的一种方法:

netsh advfirewall firewall set rule group="Remote Administration" new enable=yes
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes
netsh advfirewall firewall set rule group="Remote Service Management" new enable=yes
netsh advfirewall firewall set rule group="Performance Logs and Alerts" new enable=yes
Netsh advfirewall firewall set rule group="Remote Event Log Management" new enable=yes
Netsh advfirewall firewall set rule group="Remote Scheduled Tasks Management" new enable=yes
netsh advfirewall firewall set rule group="Remote Volume Management" new enable=yes
netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
netsh advfirewall firewall set rule group="Windows Firewall Remote Management" new enable =yes
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable =yes
Run Code Online (Sandbox Code Playgroud)

但是,我必须在每台机器上执行它。

出于某种原因,这个不起作用:

Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
Run Code Online (Sandbox Code Playgroud)

小智 6

在 Windows Server 2012 R2 Core 上工作,这对我有用:

Set-NetFirewallRule -DisplayGroup "File And Printer Sharing" -Enabled True
Run Code Online (Sandbox Code Playgroud)

这是检查它是否成功的方法

Get-NetFirewallRule -DisplayGroup "File And Printer Sharing"
Run Code Online (Sandbox Code Playgroud)

并在“启用”中找到值,应将其设置为 TRUE。

更多信息和论据可以在这里找到:

Set-NetFirewallRule Technet