【发布时间】:2010-10-06 15:58:54
【问题描述】:
我对在防火墙后面的计算机上执行 powershell 脚本很感兴趣。我需要打开哪些端口?是否需要任何特殊配置,或者我只能连接到全新安装的 Windows Server 2008 r2 并开始执行我的脚本?
【问题讨论】:
标签: powershell powershell-remoting
我对在防火墙后面的计算机上执行 powershell 脚本很感兴趣。我需要打开哪些端口?是否需要任何特殊配置,或者我只能连接到全新安装的 Windows Server 2008 r2 并开始执行我的脚本?
【问题讨论】:
标签: powershell powershell-remoting
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。
实验!享受!参与!
杰弗里·斯诺弗 [MSFT]
Windows 管理合作伙伴架构师
【讨论】:
PowerShell 2 将通过 WinRM 进行远程处理(WinRM 已经可用,因为 Windows 2003 R2、IIRC)。 WinRM 只是 HTTP[S] 上的 SOAP。因此端口默认为 80,SSL 默认为 443。
这里有一个关于PS2 remoting 的快速概述,还有一个关于 2003 年的 WinRM 的概述。
【讨论】:
用于 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 的更多详细信息
【讨论】:
您需要打开哪些端口完全取决于您计划在脚本中执行的操作。
【讨论】: