12

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

4

4 回答 4

7

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

这是一个关于PS2 远程处理的快速概述,以及一个关于WinRM for 2003 的概述。

于 2009-02-10T15:06:00.520 回答
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 ]

您还可以提供 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 管理合作伙伴架构师

于 2009-02-22T00:54:21.097 回答
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

于 2009-10-11T19:22:02.143 回答
-1

您需要打开哪些端口完全取决于您计划在脚本中执行的操作。

于 2009-02-10T14:46:00.413 回答