Что означает, что powershell 2.0 будет «дружественным к брандмауэру»?

StackOverflow https://stackoverflow.com/questions/532613

  •  22-08-2019
  •  | 
  •  

Вопрос

Меня интересует выполнение сценариев PowerShell на компьютере за брандмауэром.Какие порты мне нужно будет открыть?Потребуется ли какая-либо специальная настройка или я смогу просто подключиться к новой установке Windows Server 2008 r2 и начать выполнять свои сценарии?

Это было полезно?

Решение

MichaelGG все понял правильно: все, что вам нужно сделать, это использовать встроенные средства удаленного взаимодействия, доступные в PowerShell V2.Это дает вам сумасшедшую степень контроля над сетью с использованием протокола WS-MAN (это стандартный протокол управления, реализованный нашей службой WINRM).

Принцип работы удаленного взаимодействия версии 2 заключается в том, что вы можете вызвать команду (одну команду, конвейер, набор команд или весь сценарий) на удаленных компьютерах и указать, как вы хотите, чтобы эта команда выполнялась.

напримерInvoke-Command {get-process} -Computername (cat servers.txt)

Invoke-Command
    (1)-ScriptBlock | -Command <ScriptBlock>
    (0)[-ComputerName | -Cn <String[]>]
       [-ApplicationName <String>]
       [-ArgumentList | -Args <Object[]>]
       [-AsJob ]
       [-Authentication <Basic | Credssp | Default | Digest | Kerberos | Negotiate | NegotiateWithImplicitCredential>]
       [-CertificateThumbprint <String>]
       [-ConfigurationName <String>]
       [-Credential <PSCredential>]
       [-HideComputerName | -HCN ]
       [-InputObject <PSObject> (ByValue)]
       [-JobName <String>]
       [-Port <1->]
       [-SessionOption <System.Management.Automation.Remoting.PSSessionOption>]
       [-ThrottleLimit <Int>]
       [-UseSSL ]

Вы также можете предоставить SessionOptions

New-WSManSessionOption
       [-NoEncryption ]
       [-OperationTimeout <0->]
       [-ProxyAccessType <ProxyAutoDetect | ProxyIEConfig | ProxyNoProxyServer | ProxyWinHttpConfig>]
       [-ProxyAuthentication <Basic | Digest | Negotiate>]
       [-ProxyCredential <PSCredential>]
       [-SkipCACheck ]
       [-SkipCNCheck ]
       [-SkipRevocationCheck ]
       [-SPNPort <0->]
       [-UseUTF16 ]



New-WSManSessionOption
           [-NoEncryption ]
           [-OperationTimeout <0->]
           [-ProxyAccessType <ProxyAutoDetect | ProxyIEConfig | ProxyNoProxyServer | ProxyWinHttpConfig>]
           [-ProxyAuthentication <Basic | Digest | Negotiate>]
           [-ProxyCredential <PSCredential>]
           [-SkipCACheck ]
           [-SkipCNCheck ]
           [-SkipRevocationCheck ]
           [-SPNPort <0->]
           [-UseUTF16 ]

Как видите, вы можете указать, как проходить через прокси, вы можете предоставить один набор учетных данных для прокси и другой набор учетных данных для конечной точки.С учетом всего вышесказанного, простой случай заключается в том, что вы ничего не указываете, и мы будем использовать порт 80.

Экспериментируйте!Наслаждаться!Привлекать!

Джеффри Сновер [MSFT]
Архитектор партнера по управлению Windows

Другие советы

PowerShell 2 будет выполнять удаленное взаимодействие через WinRM (WinRM уже доступен, начиная с Windows 2003 R2, IIRC).WinRM — это просто SOAP через HTTP[S].Таким образом, порт по умолчанию — 80, по умолчанию — 443 для SSL.

Вот краткий обзор Удаленное взаимодействие PS2, и один на ВинРМ на 2003 год.

Порты по умолчанию, используемые для удаленного взаимодействия WS-Management и PowerShell, были изменены на 5985 и 5986 для подключений через HTTP и HTTPS соответственно.

Более подробную информацию можно найти в блоге инфраструктуры управления Windows — http://blogs.msdn.com/wmi/archive/2009/07/22/new-default-ports-for-ws-management-and-powershell-remoting.aspx

Какие порты вам нужно открыть, полностью зависит от того, что вы планируете делать в своих сценариях.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top