Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Copy-item cmdlet is not working as expected, i don't understand why. This is my code :

$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 

And this is the error I get :

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

I also tried this :

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

And Robocopy doesn't support credentials...

I'm running Powershell V4.0 on Windows 7, and my server is running on Windows server 2012 r2 with powershell V4.0 also.

I want to copy a local folder (with all subfolders) to a remote path \ipadress\c$\folder

How can i resolve it?

Thanks

share|improve this question
    
What exactly is it that you want to do? –  MichelZ Jun 26 at 15:43
    
@MichelZ I edited my topic –  Adeel ASIF Jun 26 at 15:48
    
Use a User that has access to both shares and use robocopy then? –  MichelZ Jun 26 at 15:49

2 Answers 2

$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: silly error, you can omit the -credential switch on the copy-item cmdlet because you've already done the auth using new-psdrive...

share|improve this answer
    
Thanks. But I'm getting the same error... –  Adeel ASIF Jun 27 at 9:14
    
What error are you getting now? The code above works fine for me –  BlueCompute Jun 27 at 14:06
    
edited answer... –  BlueCompute Jun 27 at 14:55
  1. Run your PowerShell window as a different user who does have the required permissions, and pull the credentials parts out of your script.

  2. Run your PowerShell/cmd window as a different user who does have the required permissions and use a different utility instead of the PS cmdlets, like robocopy.

share|improve this answer
    
I can't, because this a little part of a big script. And i can't run it as another user. –  Adeel ASIF Jun 27 at 9:15
    
@AdeelASIF Well, 1 and 2 are your two options. I guess we could add failure as option 3. The Copy-Item cmdelt doesn't support the use of the -credentials switch, as the error message explains. So, your only option (other than it not working) is to modify the script so it doesn't use that incompatible switch, and provide the credentials another way. –  HopelessN00b Jun 27 at 15:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.