Что означает, что powershell 2.0 будет «дружественным к брандмауэру»?
-
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
Какие порты вам нужно открыть, полностью зависит от того, что вы планируете делать в своих сценариях.