Назад | Перейти на главную страницу

Ошибка поставщика файловой системы копирования элемента

Командлет copy-item не работает должным образом, я не понимаю почему. Это мой код:

$Source = "C:\folder1"
$Destination = "\\172.22.0.115\c$\folder2\"
$Password  = ConvertTo-SecureString -AsPlainText -Force -String "MyPassword"
$User = "Domain\Administrator"
$credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$password

Copy-Item $Source -Destination $Destination -Credential $credentials 

И это ошибка, которую я получаю:

The FileSystem provider supports credentials only on the New-PSDrive cmdlet. Perform 
the operation again without specifying credentials.
At C:\Sans titre2.ps1:7 char:1
+ Copy-Item $Source -Destination $Destination -Credential $credentials
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotImplemented: (:) [], PSNotSupportedException
    + FullyQualifiedErrorId : NotSupported

Я тоже пробовал это:

Start-BitsTransfer -Source $source -Destination $Destination -Credential $credentials

И Robocopy не поддерживает учетные данные ...

Я использую Powershell V4.0 в Windows 7, и мой сервер работает на Windows server 2012 r2 с PowerShell V4.0.

Я хочу скопировать локальную папку (со всеми подпапками) в удаленный путь \ ipadress \ c $ \ folder

Как я могу это решить?

Спасибо

$Source = "C:\folder1"
$Destination = "X:\"
$Password  = ConvertTo-SecureString -AsPlainText -Force -String "MyPassword"
$User = "Domain\Administrator"
$credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$password

New-PSDrive -Name X: -PSProvider FileSystem -Root "\\172.22.0.115\c$\folder2" -Credential $credentials

Copy-Item $Source -Destination $Destination

РЕДАКТИРОВАТЬ: глупая ошибка, вы можете опустить переключатель -credential в командлете copy-item, потому что вы уже выполнили аутентификацию с помощью new-psdrive ...

  1. Запустите окно PowerShell от имени другого пользователя, у которого есть необходимые разрешения, и извлеките часть учетных данных из сценария.

  2. Запустите окно PowerShell / cmd от имени другого пользователя, у которого есть необходимые разрешения, и используйте другую утилиту вместо командлетов PS, например robocopy.