【发布时间】:2020-08-20 20:09:03
【问题描述】:
我有一个用于运行 powershell 脚本的 hyperV 服务器,其中一个 cmdlet 是 Get-VHD -Path "\\SERVER-A\folder\UVHD-profile.vhdx"
它试图从远程服务器A(这是所有 VHDX 文件的位置)获取有关 VHDX 文件的信息。
如果在 hyperV 服务器上本地运行(上述)命令,它会成功运行。
我现在想从另一个 serverB 运行脚本,但 get-vhd cmdlet 需要正常安装 hyperV(不仅是 Powershell 模块),因此我需要使用 Invoke-Command 运行它。所以我在远程服务器B上运行这个命令:
Invoke-Command -ComputerName hyperV -ScriptBlock {Get-VHD -Path "\\SERVER-A\folder\UVHD-profile.vhdx"}
但我收到一条错误消息,提示路径不存在(即使路径存在 - 我复制粘贴了它)。
有趣的是,当我将 VHDX 文件从远程服务器 A 复制到 hyperV 服务器并从服务器 B 运行此命令时:
Invoke-Command -ComputerName hyperV -ScriptBlock {Get-VHD -Path "C:\user\desktop\UVHD-profile.vhdx"}
它工作正常。当您使用Invoke-command时,似乎不允许将get-vhd与UNC路径一起使用
有人知道如何克服这个问题吗?我错过了什么吗?
提前致谢。
【问题讨论】:
-
你能调用其他命令到ServerA吗?可能是 WinRM 问题。
-
是的,我可以。来自 hyperV 服务器和服务器 B
标签: powershell