
Ich bin noch einmal hier und habe noch eine Frage.
Wie angegebenHier, ich habe erfolgreich zwei Server verbunden, um viele Dateien zu kopieren. Aber das Kopieren funktionierte überhaupt nicht. Es werden viele Fehler zu Dateien und Ordnern zurückgegeben, die bereits auf dem Zielserver vorhanden sind.
Ich habe eine PSSession erstellt, wie im oben angegebenen Link beschrieben. Ich kann die Dateien vom Quellserver erfolgreich mit anzeigen Invoke-Command -ScriptBlock { Get-ChildItem -Path "d:\" } -Session $source_server
. Dann habe ich den Kopiervorgang mit gestartet:
copy-item -path "d:\folder_on_source_server\*" -destination "d:\folder_on_destination_server" -FromSession $source_server -recurse -exclude "*dfsrprivate*",".dropbox.cache"
Die Namen der Quell- und Zielordner sind gleich. Tatsächlich haben beide Server dieselbe Ordnerstruktur. Aber wie gesagt, ich habe viele Fehlermeldungen zu Dateien und Ordnern erhalten, die bereits auf dem Ziel vorhanden waren. Und ich meine VIELE. Es wurden nur neue Dateien kopiert, aktualisierte Dateien nicht. Ich weiß, dass die Option -force funktioniert, aber sie kopiert alles erneut.
Mein Ziel ist es nun, alle neuenUNDDateien aus der Quelle aktualisiert, aber Copy-Item hat diese Funktion nicht. Also habe ich versucht, Robocopy zu verwenden. Das Problem ist, dass ich nicht weiß, wie ich Robocopy anweisen kann, den Remote-Server-Ordner als Quelle zu verwenden. Ich weiß, dass Robocopy UNC-Pfade verwenden kann, aber ich habe keine Ideen, um den Remote-UNC-Pfad dorthin zu analysieren. So etwas wie robocopy remote_source_folder local_destination_folder /mir
und das Einrichten von Ausnahmen.
Ich habe versucht, ein PSDrive zu erstellen, aber es wird nur auf dem Quellserver erstellt. Die lokale Robocopy kann es nicht sehen: Invoke-Command -session $vms -ScriptBlock { New-PSDrive -name "S" -PSProvider "FileSystem" -Root "\remote_server_ip\d$" }. Wenn ich -session entferne, wird das Laufwerk an einem mir unbekannten Ort erstellt.
Ich habe auch einige andere Befehle wie „net use“ ausprobiert, eine Variable mit „get-childitem“ in der Quelle erstellt und andere, alles mit und ohne „invoke-command“ und mit und ohne „-session“, aber nichts hat funktioniert.
Können Sie mir also helfen, diese Dateien zu bekommen? Ich denke, das ist ganz einfach, aber ich verstehe es nicht. Außerdem wäre es nett, wenn Sie mir einen Weg zeigen könnten, die Sitzung zu starten, ohne Benutzername und Passwort eingeben zu müssen.
Vielen Dank für den Rat!