Невозможно переместить элемент в 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?

Другие вопросы по тегам