Как получить CimInstance определенного NetFirewallProfile с powershell 4?

Я пытаюсь автоматизировать включение существующего правила брандмауэра, которое позволяет использовать MS DTC для домена "тип сети", как через GUI

Enable-NetFirewallRule –DisplayGroup “Distributed Transaction Coordinator”

устанавливает все флажки

Командлет Enable-NetFirewallRule имеет параметр AssociatedNetFirewallProfile но он имеет тип CimInstance не String . Существует также Get-NetFirewallProfile но я не могу использовать его для заполнения параметра, ни через конвейер, ни в качестве переменной.

1 ответ1

1

Вместо того, чтобы пытаться получить профиль и предоставить его, вы можете использовать Get-NetFirewallRule чтобы найти правило (с профилем) и передать его в Enable-NetFirewallRule.

В качестве примера вы можете использовать следующее, предполагая, что "Координатор распределенных транзакций" является именем фактического правила:

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

Кроме того, вы должны быть в состоянии использовать Get-NetFirewallProfile для извлечения объекта профиля в переменную и предоставления его.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .