Windows

PowerShell 防火牆管理

  • September 25, 2014

我有一堆機器需要為 GPO 更新啟用遠端計劃任務管理 (RPC)、遠端計劃任務管理 (RPC-EPMAP) 和 Windows 管理規範 (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

但是,我必須在每台機器上執行它。

由於某種原因,這個不起作用:

Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”

在 Windows Server 2012 R2 Core 上工作,這對我有用:

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

這是檢查是否成功的方法

Get-NetFirewallRule -DisplayGroup "File And Printer Sharing"

並找到“啟用”中的值,它應該設置為 TRUE。

更多資訊和論點可以在這裡找到:

Set-NetFirewallRule Technet

根據 Technet 上的這篇文章,僅在 Server 2012 或 Windows 8 上:http ://technet.microsoft.com/en-us/library/hh831755.aspx

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

引用自:https://serverfault.com/questions/609383