Я заинтересован в выполнении сценариев powershell на компьютере за брандмауэром. Какие порты мне нужно открыть? Будет ли нужна какая-либо специальная конфигурация, или я просто смогу подключиться к новой установке Windows Server 2008 r2 и начать выполнять мои скрипты?
Что означает, что powershell 2.0 будет "брандмауэром"?
Ответ 1
MichaelGG получил все правильно - все, что вам нужно сделать, это использовать собственный удаленный доступ, доступный в PowerShell V2. Это дает вам сумасшедшую степень контроля над сетью, используя протокол WS-MAN (стандартный протокол управления, который реализуется нашей службой WINRM).
Как работает удаленное взаимодействие V2, вы можете вызывать команду (одиночную команду, конвейер, набор команд или целую script) на удаленной машине (машинах) и указать, как вы хотите, чтобы эта команда выполнялась.
например.
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.
Эксперимент! Наслаждайтесь! Engage!
Джеффри Сновер [MSFT]
Архитектор проекта управления Windows
Ответ 2
PowerShell 2 будет удаленно работать с WinRM (WinRM уже доступен, начиная с Windows 2003 R2, IIRC). WinRM - это только SOAP через HTTP [S]. Таким образом, порт по умолчанию 80, 443 для SSL по умолчанию.
Вот краткий обзор удаленный PS2, а другой - WinRM за 2003 год.
Ответ 3
По умолчанию порты, используемые для удаленного управления 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
Ответ 4
Какие порты, которые вам нужны, полностью зависят от того, что вы планируете делать в своих сценариях.