PowerShell 防火墙管理

PowerShell 防火墙管理

我有一堆机器需要启用远程计划任务管理(RPC)、远程计划任务管理(RPC-EPMAP)和 Windows 管理规范(WMI-in)以进行 GPO 更新。

我想运行 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

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

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

Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”

答案1

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

Set-NetFirewallRule -DisplayGroup "File And Printer Sharing" -Enabled True

以下是检查是否成功的方法

Get-NetFirewallRule -DisplayGroup "File And Printer Sharing"

并找到“Enabled”中的值,它应该设置为TRUE。

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

Set-NetFirewallRule Technet

答案2

根据 Technet 上的这篇文章,仅适用于 Server 2012 或 Windows 8:http://technet.microsoft.com/en-us/library/hh831755.aspx

即使使用 Powershell 4.0,Windows 7 和 Server 2008 也需要 Netsh。

相关内容