我需要在远程计算机上运行Powershell命令,该命令会将文件从远程计算机移动到网络上的另一台计算机。
PS H:\> invoke-command -computername server1 -scriptblock {move-item c:\jobs\archive\A1051626.zip "
\\FilerServer\jobs\archive\"}
此命令导致以下错误:
拒绝访问该路径。 + CategoryInfo:PermissionDenied:(C:\ jobs \ archive \ A1051626.zip:FileInfo)[Move-Item],未经授权 AccessException + FullyQualifiedErrorId:MoveFileInfoItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.MoveItemCommand
如果我编辑PS命令将文件复制到本地系统文件夹,则命令运行正常。
我在本地计算机上运行PS脚本的用户帐户具有将文件复制到远程文件服务器的权限。我已经仔细检查了这一点,我可以将文件从Windows资源管理器中手动复制到文件共享。
什么阻止了PowerShell中的复制操作?我怎样才能运行这个任务?
谢谢!
答案 0 :(得分:3)
这可能是双跳问题。您必须使用CredSSP将您的凭据委派给远程计算机。
尝试此处提到的解决方案:http://blogs.msdn.com/b/clustering/archive/2009/06/25/9803001.aspx
另请注意,Move-Item可能不适用于从文件系统移动到网络共享。您可能必须使用Copy-Item
和Remove-Item
请在此处查看此答案:How do you move files/folders across volumes with Powershell?