如何使用 powershell 4 获取特定 NetFirewallProfile 的 CimInstance?
我尝试自动启用现有的防火墙规则,允许使用 MS DTC 作为域“网络类型”,就像通过 GUI 一样
Enable-NetFirewallRule –DisplayGroup “Distributed Transaction Coordinator”
设置所有复选框
CmdletEnable-NetFirewallRule
有AssociatedNetFirewallProfile
参数,但类型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
将配置文件的对象放入变量中并提供它。