【问题标题】:How is PowerShell Direct different from WinRM or PowerShell RemotingPowerShell Direct 与 WinRM 或 PowerShell 远程处理有何不同
【发布时间】:2020-05-04 13:33:48
【问题描述】:

PowerShell DirectPowerShell Remoting 在内部有什么不同吗?还是只是一些额外的基于 PowerShell Remoting 的 Hyper-V 特定 UI?

我使用 PowerShell Direct 来管理我的 Hyper-V 虚拟机。部署自动化很方便,因为我不需要启用任何特殊的防火墙规则或调整虚拟机的权限——它就可以工作。但是,我也可以通过 WSMan / WinRM 使用 PowerShell Remoting,它可以在非 Hyper-V 机器上使用。另一方面,这需要设置一些先决条件。

【问题讨论】:

    标签: windows powershell hyper-v powershell-remoting


    【解决方案1】:

    注意:以下内容来自文档并粗略查看了源代码;这部分是猜想,但我希望它至少在摘要中是正确的 - 如果您有更多信息,请告诉我们。

    • 功能和用户体验而言,PowerShell Direct - 用于在 Hyper-V 来宾(VM/Windows 容器)中运行 PowerShell 命令从主机 - 几乎与PowerShell Remoting 相同,除了PowerShell Direct 功能具有不同的参数,其名称以-VM 开头,例如-VMName-ComputerName

    • 需要不同的参数来指向至少部分不同的技术基础:

      • 虽然远程处理基础结构的基本部分(尤其是基于 XML 的序列化)可能是共享的,但 PowerShell Direct使用 WinRM (WS-MAN) 作为传输,PowerShell 远程处理的方式。

      • 相反,PowerShell Direct 似乎使用named pipes 进行主机和来宾机器之间的通信;请参阅以下源代码链接:

    优点和缺点

    • PowerShell Direct 的优点是要求首先通过 Enable-Remoting 设置目标 VM(来宾)以进行远程处理 - 请参阅 the requirements

    • 相反,PowerShell Direct 仅限于来宾(Hyper-V 虚拟机或容器)与其主机之间的本地通信。

      • 如果您确实需要从网络上的其他计算机在虚拟机中运行 PowerShell 命令,则必须设置 PowerShell 远程处理。
    • 推测,当在 VM 的主机上运行时,PowerShell Direct 的性能优于 PowerShell Remoting,尽管这在实践中可能无关紧要。

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多