PowerShell - 使用invoke-command和copy-item远程复制项目

时间:2017-05-24 19:33:58

标签: powershell scripting unc

我负责的域上有数百台计算机,我想将文件从文件服务器复制到本地硬盘。如果我编写脚本来从我的(单独的)计算机启动副本,它可以正常工作,如;

Copy-Item -LiteralPath \\FILESERVER01\Share\Files\Win7_64\File_to_copy.txt -Destination \\WORKSTATION01\c$\Users\USER\Desktop\ -Force }

但是我喜欢脚本通过invoke-command从文件服务器向工作站上的工作站发起一个副本,所以我的机器上没有使用某些东西(我假设是)这样做:

Invoke-Command -ComputerName WORKSTATION01 -ScriptBlock { Copy-Item -LiteralPath \\FILESERVER01\Share\Files\Win7_64\File_to_copy.txt -Destination \\WORKSTATION01\c$\Users\USER\Desktop\ -Force }

但是一直这样做会给我带来错误,引用来源作为问题 - 无法找到路径&#39; \ FILESERVER01 \ Share \ Files \ Win7_64 \ File_to_copy.txt&#39;因为它不存在。我可以从所有机器访问这个网络共享路径(通过域管理员权限),所以我认为这就像语法错误或解决UNC路径的方式有问题但是尽管我已经回顾了几个主题,但由于我在invoke-command cmdlet(<>)之外的相同命令中使用了相同的UNC路径,因此无法确定我对此做错了什么。 来自WORKSTATION01上的PowerShell会话),没有任何问题。

我已尝试通过此链接审核并尝试解决方案,以及此链接。但我无法判断它是否有一个稍微不同的用例,或者我无法弄清楚如何调整语法以使其适用于我,但无法找到路径错误仍然存​​在

我尝试过使用New-PSDrive,在UNC路径前加上&#34; FileSystem:&#34;甚至完全取出显式共享文件夹,只使用管理共享的完整路径,但我似乎错过了一些东西。

任何人都可以了解我在这里失踪的内容吗?

0 个答案:

没有答案