Подтвердить что ты не робот

Что означает, что powershell 2.0 будет "брандмауэром"?

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

4b9b3361

Ответ 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 год.

Ответ 4

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