PowerShell 2.0将"防火墙友好"是什么意思?

sum*_*mek 12 powershell powershell-remoting

我有兴趣在防火墙后面的计算机上执行powershell脚本.我需要打开哪些端口?是否需要任何特殊配置,或者我将能够连接到全新安装的Windows Server 2008 r2并开始执行我的脚本?

Mic*_*lGG 7

PowerShell 2将通过WinRM进行远程处理(WinRM已经可用,因为Windows 2003 R2,IIRC).WinRM只是SOAP over HTTP [S].因此默认情况下端口为80,SSL为443.

以下是PS2远程处理的快速概述,以及2003 年WinRM的概述.


Jef*_*SFT 7

MichaelGG做对了 - 您需要做的就是使用PowerShell V2中提供的本机远程处理.它使用WS-MAN协议(这是一种由我们的WINRM服务实现的标准管理协议)为您提供了对网络的疯狂控制.

V2远程处理的工作方式是您可以在远程计算机上调用命令(单个命令,管道,命令集或整个脚本),并指定您希望该命令的运行方式.

例如 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 ]
Run Code Online (Sandbox Code Playgroud)

您还可以提供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 ]
Run Code Online (Sandbox Code Playgroud)

如您所见,您可以指定如何遍历代理,您可以为代理提供一组凭据,为端点提供一组不同的凭据.所有这一切,简单的情况是你没有指定任何东西,我们将使用端口80.

实验!请享用!从事!

Jeffrey Snover [MSFT]
Windows管理合作伙伴架构师