我有兴趣在防火墙后面的计算机上执行 powershell 脚本。我需要打开哪些端口?是否需要任何特殊配置,或者我只能连接到全新安装的 Windows Server 2008 r2 并开始执行我的脚本?
4 回答
PowerShell 2 将通过 WinRM 进行远程处理(WinRM 已经可用,因为 Windows 2003 R2、IIRC)。WinRM 只是 HTTP[S] 上的 SOAP。因此端口默认为 80,SSL 默认为 443。
这是一个关于PS2 远程处理的快速概述,以及一个关于WinRM for 2003 的概述。
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 ]
您还可以提供 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。
实验!享受!从事!
Jeffrey Snover [MSFT]
Windows 管理合作伙伴架构师
用于 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
您需要打开哪些端口完全取决于您计划在脚本中执行的操作。