Невозможно переместить элемент в Powershell на удаленный общий ресурс
У меня есть необходимость запустить команду 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? Как мне запустить эту задачу?
Спасибо!
1 ответ
Это, вероятно, проблема двойного прыжка. Вы должны использовать CredSSP, чтобы делегировать свои учетные данные на удаленный компьютер.
Попробуйте решение, упомянутое здесь: http://blogs.msdn.com/b/clustering/archive/2009/06/25/9803001.aspx
Также обратите внимание, что Move-Item может не работать для перемещения из файловой системы в общий сетевой ресурс. Возможно, вам придется использовать Copy-Item
а также Remove-Item
Смотрите этот ответ здесь: Как вы перемещаете файлы / папки на тома с помощью Powershell?