远程 Powershell:从远程计算机检查时,映射的网络设备显示状态不可用

Remote Powershell: Mappped Network device shows status unavailable when checked from remote machine

我使用 运行 这些 PowerShell 命令的机器是 Ubuntu 18.04 机器,但是当 运行 来自另一台 windows 机器时,这种行为仍然存在。 我试图通过 Invoke-Command cmdlet 远程执行命令以将文件从 C:\ 复制到映射的网络设备 \\name\share\,但我不断收到此错误:

PS /home/appadmin> Invoke-Command -ComputerName x.x.x.x -ScriptBlock {Copy-Item -Path C:\Directory -Destination \name\share\ -Recurse -Force} -Credential $cred -Authentication Negotiate
The path is not of a legal form.
+ CategoryInfo          : InvalidArgument: (\name\share\:String) [Copy-Item], ArgumentException
+ FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.CopyItemCommand
+ PSComputerName        : x.x.x.x

The handle is invalid.
+ CategoryInfo          : WriteError: (File.vhdx:FileInfo) [Copy-Item], IOException
+ FullyQualifiedErrorId : CopyDirectoryInfoItemIOError,Microsoft.PowerShell.Commands.CopyItemCommand
+ PSComputerName        : x.x.x.x

PS /home/username>

但是 windows 主机本身的相同复制(使用 Copy-Item 命令)是成功的。

然后进一步调试,得知远程Ubuntu机器的网络设备状态为不可用

PS /home/username> Invoke-Command -ComputerName x.x.x.x -ScriptBlock { net use } -Credential $cred -Authentication Negotiate
New connections will be remembered.
Status       Local     Remote                    Network

-------------------------------------------------------------------------------
Unavailable  Y:        \name\share         Microsoft Windows Network
The command completed successfully.

PS /home/appadmin>

但是 windows 主机本身的网络设备状态显示 OK

PS C:\Users\Administrator> net use
New connections will be remembered.
Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           Y:        \name\share         Microsoft Windows Network
The command completed successfully.

PS C:\Users\Administrator>

我已经看过网络设备的权限,那里没有问题。 而且这也不是双跳问题。

我应该怎么做才能使远程机器的网络设备状态为OK,以便我可以访问映射的网络设备\name\share? 任何帮助表示赞赏

您 运行 遇到了 here 描述的双跳问题。当您在远程计算机上执行 运行 命令时,它需要凭据才能连接到 Copy-Item 命令中的 -Destination 共享。远程 PowerShell 会话没有您用于通过 Invoke-Command 创建第一个远程连接的身份副本,因此您基本上没有 -Destination 远程共享的权限。

记录了多种解决方法here

不知道有没有人遇到过这个问题。但经过大量搜索后,在我给出完全限定域名 (FQDN)“\\name.name2.local\share\”而不是“\\name\share\”后终于解决了这个问题。 远程 Powershell 命令似乎喜欢使用 FQDN,否则它将无法按要求工作。 希望这有帮助