【问题标题】:What does it mean that powershell 2.0 will be "firewall friendly"?powershell 2.0 将是“防火墙友好”是什么意思?
【发布时间】:2010-10-06 15:58:54
【问题描述】:

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

【问题讨论】:

    标签: powershell powershell-remoting


    【解决方案1】:

    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 管理合作伙伴架构师

    【讨论】:

    • 你会更新这个以显示 Aleksandar 提到的正确端口号吗?
    【解决方案2】:

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

    这里有一个关于PS2 remoting 的快速概述,还有一个关于 2003 年的 WinRM 的概述。

    【讨论】:

    • 澄清 PowerShell v2 还需要 WinRM 2(目前也在 CTP 中)。例如,Windows Server 2008 与 WinRM 1.1 捆绑在一起,但必须使用 WinRM 2 才能与 PowerShell v2 完全集成。
    【解决方案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 的更多详细信息

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 1970-01-01
        • 1970-01-01
        • 2018-01-13
        相关资源
        最近更新 更多