Ziele mittels powershell vergleichen

moby07

Lieutenant
Registriert
Sep. 2007
Beiträge
899
Moin zusammen,

ich möchte Ziele bzw. Pfade auf Identität prüfen. Hierzu habe ich folgenden Befehl mir zusammengebaut.

Code:
compare-object -ReferenceObject $(Get-ChildItem '\\servername\Pfad1' -Recurse) -DifferenceObject $(Get-ChildItem '\\servername2\Pfad1' -Recurse) -IncludeEqual | Out-File C:\Temp\vergleich.txt

Leider gibt es die Meldung über einen zu langen Pfad/Dateinamen. Wie komme ich über die 248 bzw. 260 Zeichen hinaus?

Oder gibt es hier einen eleganteren Weg? Ich bin eher powershell-fremd und bitte dies bei der Antwort zu berücksichtigen. :)

Gruß
 
Das ist leider noch eine NTFS Beschränkung im Explorer. Ihr sollte daher dringend den Pfad auf dem Server überarbeiten.
Für den Script, könnt ihr erstmal 2 Netzlaufwerke einbinden und dementsprechend den Powershell Befehl anpassen.
Die 260 Zeichen sind keine Beschränkung der Powershell.
 
Also es sind zwei Freigaben von zwei replizierenden Servern (alter und neuer Host), die ich vergleichen möchte. Daten liegen auf dem SAN.
 
Wo die Daten liegen ist egal

net use x: "\\servername\Pfad1"
net use y: "\\servername2\Pfad1"
compare-object -ReferenceObject $(Get-ChildItem 'x:' -Recurse) -DifferenceObject $(Get-ChildItem 'y:' -Recurse) usw.

Hierdurch wird die absolute Pfad Länge reduziert und sollte wieder geprüft werden können.

Beispiel
\\DatenServer\Daten\2016\Jahresbilanz.txt
(hier ist der Pfad 42 Zeichen lang)

net use x: "\\DatenServer\Daten\2016"
x:\Jahresbilanz.txt
(ist nur noch 20 Zeichen lang, so kann die Zeichenlänge des Pfades unter 260 Zeichen gekürzt werden.)
 

Ähnliche Themen

Zurück
Oben