Fehler beim Kopieren des Dateisystemanbieters


9

Das Cmdlet "Copy-Item" funktioniert nicht wie erwartet, ich verstehe nicht warum. Das ist mein 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 

Und das ist der Fehler, den ich bekomme:

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

Ich habe es auch versucht:

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

Und Robocopy unterstützt keine Anmeldeinformationen ...

Ich verwende Powershell V4.0 unter Windows 7 und mein Server läuft unter Windows Server 2012 R2 mit Powershell V4.0.

Ich möchte einen lokalen Ordner (mit allen Unterordnern) in einen Remote-Pfad \ ipadress \ c $ \ Ordner kopieren

Wie kann ich das beheben?

Vielen Dank


Was genau möchten Sie tun?
MichelZ

@MichelZ Ich habe mein Thema bearbeitet
Adeel ASIF

Verwenden Sie einen Benutzer, der Zugriff auf beide Freigaben hat, und verwenden Sie dann Robocopy?
MichelZ

Antworten:


14
$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

BEARBEITEN: dummer Fehler, Sie können den Schalter -credential auf dem Cmdlet copy-item weglassen, da Sie die Authentifizierung bereits mit new-psdrive durchgeführt haben ...


Vielen Dank. Aber ich bekomme den gleichen Fehler ...
Adeel ASIF

Welchen Fehler bekommen Sie jetzt? Der obige Code funktioniert gut für mich
BlueCompute

bearbeitete Antwort ...
BlueCompute

Wird New-PSDriveeine Art temporäres Netzlaufwerk erstellt, das nach Beendigung der Skriptsitzung entfernt wird?
Jim Aho

-3
  1. Führen Sie Ihr PowerShell-Fenster als ein anderer Benutzer aus, der über die erforderlichen Berechtigungen verfügt, und ziehen Sie die Teile der Anmeldeinformationen aus Ihrem Skript.

  2. Führen Sie Ihr PowerShell / cmd-Fenster als ein anderer Benutzer aus, der über die erforderlichen Berechtigungen verfügt, und verwenden Sie anstelle der PS-Cmdlets ein anderes Dienstprogramm, z. B. Robocopy.


Ich kann nicht, weil dies ein kleiner Teil eines großen Drehbuchs ist. Und ich kann es nicht als ein anderer Benutzer ausführen.
Adeel ASIF

@AdeelASIF ​​Nun, 1 und 2 sind Ihre beiden Optionen. Ich denke, wir könnten als Option 3 einen Fehler hinzufügen. Der Copy-Itemcmdelt unterstützt die Verwendung des -credentialsSchalters nicht, wie in der Fehlermeldung erläutert. Ihre einzige Option (außer dass es nicht funktioniert) besteht darin, das Skript so zu ändern, dass es diesen inkompatiblen Schalter nicht verwendet, und die Anmeldeinformationen auf andere Weise bereitzustellen.
HopelessN00b
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.