使用 powershell 仅为域启用防火墙规则

使用 powershell 仅为域启用防火墙规则

如何使用 powershell 4 获取特定 NetFirewallProfile 的 CimInstance?

我尝试自动启用现有的防火墙规则,允许使用 MS DTC 作为域“网络类型”,就像通过 GUI 一样 在此处输入图片描述

Enable-NetFirewallRule –DisplayGroup “Distributed Transaction Coordinator”

设置所有复选框

CmdletEnable-NetFirewallRuleAssociatedNetFirewallProfile参数,但类型CimInstance不是String。也有,Get-NetFirewallProfile但我不能用它来填充参数,也不能通过管道填充,也不能用作变量。

答案1

您无需尝试获取并提供个人资料,而是可以使用Get-NetFirewallRule找到规则(带有配置文件)并将其导入Enable-NetFirewallRule

作为示例,您可以使用以下内容,假设“分布式事务协调器”是实际规则的名称:

Get-NetFirewallRule | Where {$_.Name -eq "Distributed Transaction Coordinator" -and $_.Profile -eq "Domain"} | Enable-NetFirewallRule

此外你应该能够使用Get-NetFirewallProfile将配置文件的对象放入变量中并提供它。

相关内容