【问题标题】:Unable to remote to a machine running Powershell 5.0无法远程连接到运行 Powershell 5.0 的机器
【发布时间】:2015-12-05 10:56:50
【问题描述】:

当目标运行 WMF 5.0(4 月预览版或 8 月预发布版)时,我在尝试使用 Invoke-CommandEnter-PSSession 时遇到了一个奇怪的错误。

我无法在 Google 上找到对此的任何参考,因此我怀疑这是本地/网络配置问题,但我不确定如何找到它。

有问题的帐户在两台机器上都具有本地管理员权限(在两台机器上都添加了域组),我可以在本地运行目标上的任何和所有命令。相反方向的远程访问会导致相同的错误(同样运行 5.0.10514)。

--- 输出可识别信息和格式调整以更好地包装---

# user@HOST | [2015-09-09 Wed 08:18]
 C:\Windows>invoke-command -computer test {$psversiontable.psversion}

Major  Minor  Build  Revision PSComputerName
-----  -----  -----  -------- --------------
4      0      -1     -1       test

# user@HOST | [2015-09-09 Wed 08:18]
 C:\Windows>enter-pssession -computer test

[test]: PS C:\Users\user\Documents> exit

# user@HOST | [2015-09-09 Wed 08:19]
 C:\Windows>invoke-command -computer test {$psversiontable.psversion}

Major  Minor  Build  Revision PSComputerName
-----  -----  -----  -------- --------------
5      0      10514  6        test

# user@HOST | [2015-09-09 Wed 08:37]
 C:\Windows>enter-pssession -computer test
enter-pssession : The term 'Measure-Object' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or if a path 
was included, verify that the path is correct and try again.
At line:1 char:1
+ enter-pssession -computer test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Measure-Object:String) [Enter-PSSession], 
      CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

# user@HOST | [2015-09-09 Wed 08:38]
 C:\Windows>

【问题讨论】:

    标签: powershell powershell-remoting powershell-5.0


    【解决方案1】:

    您是否正在使用提升的权限运行您的 powershell 会话(即使它是管理员帐户)?

    如果您使用 FQDN 而不是简单名称,它是否有效?如果您为目标使用简单名称,则在某些构建中这是一个已知问题。

    如果端点受到某种限制,则可用命令可能会受到一些限制。 Measure-Object 是使用 enter-pssession 时在会话中运行所需的方法之一。这可能是您的问题;虽然如果没有你的设置细节很难猜到。

    在远程处理中限制命令和锁定方法的一些细节: https://www.petri.com/powershell-remoting-restricting-user-commands

    还有一些关于委托管理和代理功能的详细信息: http://blogs.technet.com/b/heyscriptingguy/archive/2014/04/03/use-delegated-administration-and-proxy-functions.aspx

    如果你的目标是一个容器,你可能需要正确配置它:

    https://www.petri.com/managing-windows-server-containers-with-powershell-managing-containers

    希望这可以帮助您调试并开始远程工作:)

    【讨论】:

    • 不幸的是,这并不能解决问题。尝试使用 Elevated 和 FQDN,但仍然得到 Measure-Object 错误。但是,如果我卸载 WMF 5 版本(以便我恢复到 WMF4),则远程处理没有问题。从 WMF5 到 4 也可以远程处理,唯一的错误是目标是 5。
    • 当您远程连接到这台机器时可能运行的任何活动会话配置文件?您可以尝试取消注册默认会话配置并在 WMF5 目标上重新启用 PSRemoting。也许这会有所帮助。
    【解决方案2】:

    我也遇到了这个问题。就我而言,使用服务器的 FQDN 并不能解决问题。 有人发布了一个由 PSModulePath 变量引起的问题。

    • RDP 到远程服务器并检查 $env:PSModulePath 的当前值
    • 如果路径包含 UNC,请将其替换为映射驱动器的名称(例如,将 \myserver\public\docs 替换为 z:\docs,其中 z 映射到 \myserver\public)

    这对我有用

    【讨论】:

      猜你喜欢
      • 2019-01-02
      • 2011-10-09
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 2010-12-22
      相关资源
      最近更新 更多