2017-05-10 6 views
0

Ich versuche, Dateien von einem Remote-Server mit Powershell auf meine Basismaschine zu kopieren. Dies löst eine ‚Zugriff verweigert‘ Ausnahme, obwohl die Laufwerke gemappt erhalten:Copy-Item löst AccessDenied-Ausnahme aus

New-PSDrive -Name source -PSProvider FileSystem -Root "\\SERVERNAME1\D$\Temp\Folder" ; 
New-PSDrive -Name target -PSProvider FileSystem -Root $destinationRemotePath ; 
Copy-Item -Path source:\$($file).zip -Destination target: -Verbose -ErrorAction Stop -Force ; 

Ansatz 2

ich das Quelllaufwerk am Abbilden und PsSession für Ziellaufwerk verwenden, aber ich

Laufwerk kann nicht gefunden werden. Ein Laufwerk mit dem Namen 'source' existiert nicht. + CategoryInfo: ObjectNotFound: (Quelle: String) [Copy-Item], DriveNotFoundException + FullyQualifiedErrorId: DriveNotFound, Microsoft.PowerShell.Commands.CopyItemCommand

Es folgt der Code verwendet wird:

$Username = "UserName"; 
$Password = ConvertTo-SecureString "Password" -AsPlainText -Force 
$cred = New-Object System.Management.Automation.PSCredential($Username, $Password) 
$session = new-pssession -computername 'TargetServerName' -credential $cred 
New-PSDrive -Name source -PSProvider FileSystem -Root "\\SERVERNAME1\D$\Temp\Folder" ; 
Invoke-Command -Session $session -ScriptBlock { Copy-Item -Path $($args[0]) -Destination $($args[1]) -Verbose -ErrorAction Stop } -ArgumentList source:\$($file).zip,'D:\Folder' ; 
+0

Wie erstellen Sie Ihre 'PSSession'? Verwenden Sie CredSSP? – restless1987

+0

@ restless1987: Ich habe die Frage bearbeitet und diesen Abschnitt hinzugefügt. –

Antwort

0

es gibt einige Probleme auf diesem zweiten Beispiel:

  1. Die PSSession eine andere Scode hat, ist es nicht über Ihre PSDrive wissen.

  2. PSSessions unterstützen keine Authentifizierung für den Netzwerkstandort, wie Sie es von RDP-Sitzungen gewohnt sind. Siehe CredSSP oder ‚PSSession Double-Hop‘

Ansatz 1 sieht aus wie Sie Sie die gleiche Quote wollen keinen Zugang haben zu verwenden. Sie können Anmeldeinformationen über den Parameter -Credential unter New-PSDrive angeben. Können Sie Get-Childitem auf Source: und Target:?

Verwandte Themen