Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

2 Fehler in einem Powershellscript

Frage Entwicklung Batch & Shell

Mitglied: Doskias

Doskias (Level 1) - Jetzt verbinden

17.12.2014, aktualisiert 11:09 Uhr, 740 Aufrufe, 2 Kommentare

Hi zusammen,

wir planen aktuell eine Migration und wollen bei der Migration die Homeverzeichnisse auf einen anderen Server mit umziehen. Umziehen der Homeverezeichnisse soll per Powershell erfolgen und zwar dann wenn der User umgezogen ist. Da es sich um eine fast 4-stellige Anzahl an Usern handelt, kommt ein Kopierer aller Home-Verzeichnisse zeitgleich nicht in betracht. Das entsprechende Skript sieht wie folgt aus:

01.
# Pfad im altes Home-Verzeichnis. 
02.
$AH="c:\test\" 
03.
# Neues Home-Verzeichnis. . 
04.
$NH="C:\test2\" 
05.
 
06.
# Prüfung ob eine Migrationslog.txt-Datei bereits vorliegt. Ist dies der Fall wird der Variable der Wert 1 zugeordnert.  
07.
# Liegt keine Datei vor, bekommt die Variable den Wert 0. 
08.
$Pruefung=Test-Path "$AH\Migrationslog.txt" 
09.
 
10.
if ( $Pruefung -eq 0) 
11.
12.
# Kopierjob gemäß oben angegebenen Parametern. 
13.
# -Liste der kopierten Datein wird in den Ursprungspfad mit dem Dateinamen Migrationslog.txt geschrieben 
14.
copy-item -path $AH -destination $NH -exclude $AH\Windows -force -passthru -recurse > "$AH\Migrationslog.txt" 
15.
16.
remove-item $NH\Migrationslog.txt
Soweit so gut. Das Skript arbeitet und kopiert alle Dateien. Und genau hier sind wir bei dem Problem Nummer 1:

In dem Home-Verzeichnis existiert ein Ordner mit dem Namen Windows. Dieser enthält Informationen, die das alte System benötigt. Auf dem neuen System werden die Daten logischerweise neu geschrieben. Daher darf der Ordner Windows nicht mit kopiert werden. Daher die exclude Option im Kopiervorgang. Der Ordner wird dennoch kopiert. liegt dies an der Kombination -force und -recurse?

Zweite Auffälligkeit:
Wenn ich das Skript in der Form ausführe, dann erhalte ich die Dateien von c:\Test in C:\Test2\Test. Es wird also jeweils ein Unterordner angelegt. Da in der echtumgebung der Ordner c:\Test durch \\server\home$\%username und c:\test2 durch \\server2\homes$\%username% geändert werden soll ist dies sehr ungünstig. Wenn ich die Variablen setze, so landen die Daten schließlich unter \\server2\homes$\%username%\%username. Wie kann ich die Erstellung des unnötigen Unterordners verhindern?

Folgeanforderung aus Nummer 2
Aktuell besteht auch das Problem, dass die Datei Migrationslog.txt direkt beim ersten Datei kopieren erstellt wird und dadurch im Kopierverlauf ebenfalls kopiert wird. Diese müsste im Anschluss gelöscht werden. Da jedoch ein separater Unterordner erstellt wird, funktioniert die letzte Codezeile natürlich nicht.
Mitglied: 114757
LÖSUNG 17.12.2014, aktualisiert um 11:09 Uhr
01.
# # Pfad im altes Home-Verzeichnis. 
02.
$AH="c:\test" 
03.
# Neues Home-Verzeichnis. . 
04.
$NH="C:\test2" 
05.
 
06.
# Prüfung ob eine Migrationslog.txt-Datei bereits vorliegt. Ist dies der Fall wird der Variable der Wert 1 zugeordnert.  
07.
# Liegt keine Datei vor, bekommt die Variable den Wert 0. 
08.
$Pruefung=Test-Path "$AH\Migrationslog.txt" 
09.
 
10.
if (!$Pruefung) 
11.
12.
  # Kopierjob gemäß oben angegebenen Parametern. 
13.
  # -Liste der kopierten Datein wird in den Ursprungspfad mit dem Dateinamen Migrationslog.txt geschrieben 
14.
  copy-item -path "$AH\*" -destination $NH -force -passthru -recurse -Exclude "Windows" | out-file "$AH\Migrationslog.txt" 
15.
  remove-item "$NH\Migrationslog.txt" -Force 
16.
}
Gruß jodel32
Bitte warten ..
Mitglied: Doskias
17.12.2014 um 11:08 Uhr
Danke. Musste zwar zweimal schauen um die Änderung im Copy-item überhaupt zu erkennen, aber so funktioniert es. Zumindest in der Testumgebung. Werde das ganze jetzt mal auf dem Echt-System mit einem Testbenutzer ausgibig quälen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Spoiler in textdatei automatisch über Powershellscript einfügen (5)

Frage von Dr.Byte zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershellscript zum konvertieren und anpassen einer XML für Elster Import (9)

Frage von Shaijan zum Thema Batch & Shell ...

Windows 10
gelöst Installation - CreateProcess schlug Fehl: Code 2 (3)

Frage von KLeinstein.tm zum Thema Windows 10 ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (21)

Frage von zorlayan zum Thema Windows 10 ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Netzwerkgrundlagen
Pro Contra "echtes Subnetting" VLSM (12)

Frage von killing.Apfelkuchen zum Thema Netzwerkgrundlagen ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (11)

Frage von shearer9 zum Thema Voice over IP ...