我看到我可以创建防火墙规则,并且我确信特定应用程序的某些
New-NetFirewallRule
配置可以复制在控制面板“防火墙和网络保护”GUI中启用应用程序访问公共和专用网络的行为.
但是,我并不确切知道该组合是什么,并且我正在替换手动流程,用户可以通过该流程进入并切换应用程序列表的访问权限。
我的 powershell 用例是为应用程序列表启用“私有”和“公共”访问,以便通常手动选中这些框的用户现在可以在程序运行后看到这些框被选中。
因此,我不需要复制启用这些框会创建的防火墙条件,而是需要执行一些 powershell 命令仪式,使这些框在控制面板 GUI 中显示为已启用,并以完全相同的方式更新防火墙的行为。
我如何配置 Windows Defender 以允许使用 Powershell 的公共和专用网络上的应用程序就像在 Windows 设置中基于 GUI 的用户那样配置它们?
如果答案是:那做不到。只需创建新的防火墙规则以允许具有“任何”配置文件的应用程序的入站数据,就可以了,那就没问题了。在这种情况下,我只需要知道相对于通过手动流程所做的事情,我不会过度允许该应用程序。
事实证明这真的很简单。
$rules = Get-NetFirewallRule -All |? {$_.DisplayName -match "MY-PATTERN"}
$rules |% {
Set-NetFirewallRule -DisplayName $_.DisplayName -Action Allow -Profile Any -Direction Inbound
}
如果不枚举可扩展的、无限的新应用程序名称列表,我就不可能使用新规则来做到这一点。不保证所讨论的应用程序在配置时存在,并且可以安装在任意位置。我需要找到安装程序建立的规则,并就地修改它们。