Вопрос: Ошибка поставщика файловой системы 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 2012 r2 с powershell V4.0.

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

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

благодаря


6
2018-06-26 15:34


Источник


Что именно вы хотите сделать? - MichelZ
@MichelZ Я отредактировал мою тему - Adeel ASIF
Использовать пользователя, который имеет доступ к обеим ресурсам и использовать robocopy? - MichelZ


Ответы:


$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

EDIT: глупая ошибка, вы можете опустить -credential переключатель в командлете copy-item, потому что вы уже сделали auth с помощью new-psdrive ...


9
2018-06-26 16:54



Благодарю. Но я получаю ту же ошибку ... - Adeel ASIF
Какую ошибку вы сейчас получаете? Код выше работает отлично для меня - BlueCompute
отредактированный ответ ... - BlueCompute
Является New-PSDrive создавая временный сетевой диск, который будет удален после завершения сеанса скрипта? - Jim Aho


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

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


-1
2018-06-26 15:55



Я не могу, потому что это небольшая часть большого скрипта. И я не могу запустить его как другого пользователя. - Adeel ASIF
@AdeelASIF ​​Ну, 1 и 2 - ваши два варианта. Я думаю, мы могли бы добавить отказ как вариант 3. Copy-Item cmdelt не поддерживает использование -credentials как объясняется сообщение об ошибке. Таким образом, ваш единственный вариант (кроме него не работает) заключается в том, чтобы изменить сценарий, чтобы он не использовал этот несовместимый коммутатор и предоставил учетные данные другим способом. - HopelessN00b