powershell在远程计算机上调用get VHD

powershell在远程计算机上调用get VHD,powershell,Powershell,我有一个用于运行powershell脚本的hyperV服务器,其中一个cmdlet是Get VHD-Path“\\server-a\folder\UVHD profile.vhdx” 试图从远程服务器a(所有VHDX文件的位置)获取有关VHDX文件的信息 如果在hyperV服务器上本地运行(上述)命令,则会成功运行 现在我想从另一台服务器B运行脚本,但是get vhdcmdlet需要运行hyperV(不仅仅是Powershell模块),因此我需要使用Invoke命令运行它。因此,我在远程服务器B

我有一个用于运行powershell脚本的hyperV服务器,其中一个cmdlet是
Get VHD-Path“\\server-a\folder\UVHD profile.vhdx”
试图从远程服务器a(所有VHDX文件的位置)获取有关VHDX文件的信息

如果在hyperV服务器上本地运行(上述)命令,则会成功运行

现在我想从另一台服务器B运行脚本,但是
get vhd
cmdlet需要运行hyperV(不仅仅是Powershell模块),因此我需要使用
Invoke命令运行它。因此,我在远程服务器B上运行此命令:

Invoke命令-ComputerName hyperV-ScriptBlock{Get VHD-Path“\\SERVER-A\folder\UVHD profile.vhdx”}
但是我得到一个错误,说路径不存在(即使路径存在-我复制粘贴了它)

有趣的是,当我将VHDX文件从远程服务器A复制到hyperV服务器并从服务器B运行此命令时:

Invoke命令-ComputerName hyperV-ScriptBlock{Get VHD-Path“C:\user\desktop\UVHD profile.vhdx”}

它很好用。使用
Invoke命令时,似乎不允许将
get vhd
与UNC路径一起使用

有人知道如何克服这个问题吗?我错过什么了吗


提前感谢。

这通常被称为双跳问题。基本上,您是从计算机A跳到计算机B,然后跳到计算机C,身份验证不会从B传递到C


这将更详细地描述该问题,并列出解决该问题的几种方法。

这通常被称为双跳问题。基本上,您是从计算机A跳到计算机B,然后跳到计算机C,身份验证不会从B传递到C


这将更详细地描述此问题,并列出解决此问题的几种方法。

您是否能够调用其他命令来处理ServerA?可能是WinRM的问题。是的,我可以。从hyperV服务器和serverBAre,您可以调用其他命令到ServerA吗?可能是WinRM的问题。是的,我可以。从hyperV服务器和服务器B谢谢。这为我的研究和学习开辟了一条新的道路。我甚至没有意识到这一点。总之,我在脚本块后使用了-ConfigurationName,并使用了-argumentlist的一些参数,谢谢。这为我的研究和学习开辟了一条新的道路。我甚至没有意识到这一点。总之,我在脚本块后面使用了-ConfigurationName,并使用了-ArgumentList的一些参数