我有一堆计算机需要启用远程计划任务pipe理(RPC),远程计划任务pipe理(RPC-EPMAP)和Windows Management Instrumentation(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”
在Windows Server 2012 R2 Core上工作,这为我工作:
Set-NetFirewallRule -DisplayGroup "File And Printer Sharing" -Enabled True
这是如何检查是否成功
Get-NetFirewallRule -DisplayGroup "File And Printer Sharing"
并find“已启用”中的值,它应该设置为TRUE。
更多的信息和参数可以在这里find:
Set-NetFirewallRule Technet
根据Technet上的这篇文章,只有在Server 2012或Windows 8上: http : //technet.microsoft.com/en-us/library/hh831755.aspx
即使使用Powershell 4.0,Windows 7和Server 2008也需要Netsh。