使用PowerShell管理Windows防火墙 – PowerShell 中文博客 |
您所在的位置:网站首页 › win7开启防火墙命令 › 使用PowerShell管理Windows防火墙 – PowerShell 中文博客 |
本文目录 随着Windows Server 2012 和 Windows 8 的发布,当你使用NETSH 来管理防火墙时,会看到微软发布的警告消息: In future versions of Windows, Microsoft might remove the Netsh functionality for Windows Firewall with Advanced Security(在未来的windows版本中,微软可能会移除Netsh功能,转而使用高级安全的Windows防火墙). 这听起来是我们学习使用PowerShell管理防火墙的一个很好的理由。幸运的是微软已经在PowerShell 3.0 中的防火墙管理中加入了欢迎提示。 PowerShell 提供了下面的命令用来管理防火墙: PS> Get-Command -Noun "*Firewall*" | Select -ExpandProperty Name Copy-NetFirewallRule Disable-NetFirewallRule Enable-NetFirewallRule Get-NetFirewallAddressFilter Get-NetFirewallApplicationFilter Get-NetFirewallInterfaceFilter Get-NetFirewallInterfaceTypeFilter Get-NetFirewallPortFilter Get-NetFirewallProfile Get-NetFirewallRule Get-NetFirewallSecurityFilter Get-NetFirewallServiceFilter Get-NetFirewallSetting New-NetFirewallRule Remove-NetFirewallRule Rename-NetFirewallRule Set-NetFirewallAddressFilter Set-NetFirewallApplicationFilter Set-NetFirewallInterfaceFilter Set-NetFirewallInterfaceTypeFilter Set-NetFirewallPortFilter Set-NetFirewallProfile Set-NetFirewallRule Set-NetFirewallSecurityFilter Set-NetFirewallServiceFilter Set-NetFirewallSetting Show-NetFirewallRule像往常一样,输入get-help ,在后面跟上以上命令的名称,可以看到更多的帮助信息。 常见的例子下面列出一些你可能希望PowerShell来做的常见的例子: 在域环境中启用防火墙 Set-NetFirewallProfile -Profile Domain -Enabled True注意,-Enable参数不接受传统的$true,只接受True,显然还有另外一个选项False。其它可用的配置环境还有“Public”和“Private” 启用预制的组规则一个Group是用于特定用途的规则集合,下面是Windows系统上附带的几个常用的组规则: Set-NetFirewallRule -DisplayGroup "Remote Event Log Management" -Enabled True Set-NetFirewallRule -DisplayGroup "Windows Firewall Remote Management" -Enabled True Set-NetFirewallRule -DisplayGroup "Windows Management Instrumentation(WMI)" -Enabled True Set-NetFirewallRule -DisplayGroup "Remote Desktop" -Enabled True Set-NetFirewallRule -DisplayGroup "Windows Remote Management" -Enabled True Set-NetFirewallRule -DisplayGroup "Remote Administration" -Enabled True查看所有的group,可以看下面的例子。 列出当前所有的Groups Get-NetFirewallRule |Select-Object DisplayGroup -Unique 添加一条规则 New-NetFirewallRule -DisplayName "Allow Inbound OpenVPN Client Requests" -Direction Inbound -LocalPort 1194 -Protocol UDP -Action Allow New-NetFirewallRule -DisplayName "Block Outbound itunes.exe" -Direction Outbound -Program "C:\Program Files\apple\itunes\itunes.exe" -Action Block 启用或者禁用存在的某条规则 Set-NetfirewallRule -DisplayName "Allow Inbound OpenVPN Client Requests" -Enabled True Set-NetfirewallRule -DisplayName "Allow Inbound OpenVPN Client Requests" -Enabled False 删除一条规则这会永久的删除一条规则,如果你只是禁用一条规则,可以参考前面使用set-netfirewallrule的的例子。 Remove-NetfirewallRule -DisplayName "Allow Inbound OpenVPN Client Requests" 获取防火墙环境配置信息 Get-NetFirewallProfile -name Domain 远程管理规则任意的命令都可以通过New-CimSession命令远程使用。假设你的防火墙已经启用了我们上面列出过的组规则“Windows Firewall Remote Management“(必要的)。 $TargetComputer=New-CIMSession -Computername MYCOMPUTER Set-NetFirewallRule -DisplayGroup "Remote Event Log Management" -Enabled True -CimSession $TargetComputer Windows Server 和 Windows 7怎么办?不幸的是,上面命令只有在Windows Server 2012和Windows 8和更高版本中支持,即使你在其它旧版本的操作系统中安装了PowerShell 3.0,也不支持。如果你想在旧版本的操作系统上管理防火墙,不得不使用NETSH. 小提示所以使用PowerShell 管理防火墙,这只是万里长征的第一步。本篇文章主要聚焦每次去管理一台机器的规则,你可能会想去研究通过组策略来控制规则。Windows Server 2012针对此类情况也介绍了一些非常实用的工具。(Open-NetGPO!)更多信息可以通过下面的链接回复互动。 深入阅读Technet: Windows Firewall with Advanced Security Administration with Windows Powershell Let IT Know Blog: Manage Windows Firewall With Powershell 3 Microsoft etworking Blog: Deployment: Windows Firewall and Group Policy 原文作者:Toby Meyer 原文链接:Manage the Windows Firewall with Powershell 翻译:荔非苔 本文链接: https://www.pstips.net/manage-firewall-using-powershell.html请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处! 相关文章推荐: Set-WSManQuickConfig 错误:无法检查防火墙的状态 添加PowerShell远程防火墙规则 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |