Batch File Serverprofil umziehen
Hallo zusammen,
ich möchte demnächst Userhomelaufwerke Stück für Stück per Batch auf einen anderen Server umziehen.
Dabei soll dies in 3 Schritten erfolgen:
1.Schritt: Prüfung ob Profil-Dateien in Verwendung hat (mit net file)
2.Schritt: Umziehen der Daten von Server A nach Server B (mit robocopy)
3.Schritt: alte Freigabe entfernen (mit net share)
Dazu habe ich folgende Batch bisher vorbereitet...
echo es wird geprueft ob Benutzer noch angemeldet ist...
net file | findstr BENUTZER
if keine Datei mehr in Verwendung goto Kopieren -->hier happerts noch
else goto Abbruch -->hier auch
:Kopieren
echo Benutzerprofil wird nun kopiert...
robocopy c:\ServerA c:\ServerB /mir /R:5 /W:5
goto Freigabe
:Freigabe
echo Freigabe wird nun entfernt...
net share Freigabe$ /delete
goto Ende
:Abbruch
echo Abbruch, da Benutzer noch angemeldet ist!
(exit)
:Ende
echo Profil erfolgreich kopiert!
#
Könnt ihr mir hier helfen?Mit Batch-Files bin ich noch nicht so vertraut :-P
MfG Daniel
ich möchte demnächst Userhomelaufwerke Stück für Stück per Batch auf einen anderen Server umziehen.
Dabei soll dies in 3 Schritten erfolgen:
1.Schritt: Prüfung ob Profil-Dateien in Verwendung hat (mit net file)
2.Schritt: Umziehen der Daten von Server A nach Server B (mit robocopy)
3.Schritt: alte Freigabe entfernen (mit net share)
Dazu habe ich folgende Batch bisher vorbereitet...
echo es wird geprueft ob Benutzer noch angemeldet ist...
net file | findstr BENUTZER
if keine Datei mehr in Verwendung goto Kopieren -->hier happerts noch
else goto Abbruch -->hier auch
:Kopieren
echo Benutzerprofil wird nun kopiert...
robocopy c:\ServerA c:\ServerB /mir /R:5 /W:5
goto Freigabe
:Freigabe
echo Freigabe wird nun entfernt...
net share Freigabe$ /delete
goto Ende
:Abbruch
echo Abbruch, da Benutzer noch angemeldet ist!
(exit)
:Ende
echo Profil erfolgreich kopiert!
#
Könnt ihr mir hier helfen?Mit Batch-Files bin ich noch nicht so vertraut :-P
MfG Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 126345
Url: https://administrator.de/contentid/126345
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo Hugi1987!
Etwa so (ungetestet):
In der Textdatei muss je Zeile ein Benutzer eingetragen sein.
Das Entfernen der Freigabe ist mir nicht ganz klar - hab's daher mal so gelassen, wie Du es vorher angeführt hattest ...
Grüße
bastla
Etwa so (ungetestet):
@echo off & setlocal
set "Liste=D:\Benutzer.txt"
for /f "usebackq delims=" %%i in ("%Liste%") do set "Benutzer=%%i" & call :ProcessUser
echo Fertig.
goto :eof
:ProcessUser
echo es wird geprueft ob Benutzer noch angemeldet ist...
net file|findstr "%Benutzer%" && (echo Abbruch, da Benutzer noch angemeldet ist! & goto :eof)
:Kopieren
echo Benutzerprofil wird nun kopiert...
robocopy \\ServerA\c$\%Benutzer% \\ServerB\c$\%Benutzer% /mir /R:5 /W:5
:Freigabe
echo Freigabe wird nun entfernt...
net share Freigabe$ /delete
:Ende
echo Profil erfolgreich kopiert!
goto :eof
Das Entfernen der Freigabe ist mir nicht ganz klar - hab's daher mal so gelassen, wie Du es vorher angeführt hattest ...
Grüße
bastla
Servus,
als alter Serverumzieher rate ich dir - mach es nicht so.
Einen neuen Server "probiert" man erstmal aus.
Wenn der läuft - nimmt man sich ein Wochenende, kopiert nicht nur die Userdaten - sondern auch die Zugriffsberechtigungen.
Dann verstellt man in der AD das Userhome / Profilpfad.
Grundsätzlich sollten Userprofile "irgendwo" auf einem Server liegen - aber garantiert nicht auf dem c:\! ...
(Auch wenn man Kontigente benutzt) - dann "klappt" das auch ohne Robocopy mit einem Image (das kein Backup ist/ersetzt) - aber für den Fall eindeutig die bessere Wahl ist.
Gruß
@ Bastla: Die Idee mit den Usern und einer Datei ist gut
nicht @bastla (der weiß das eh)
Mittels eines Findstr /v am ende könnte man auch den umgezogenen User aus der Liste der delinquenten löschen.
Aber wie bereits an anderer Stelle geschrieben - ich bin Pessimist - oder andersherum Optimist mit Lebenserfahrung
als alter Serverumzieher rate ich dir - mach es nicht so.
Einen neuen Server "probiert" man erstmal aus.
Wenn der läuft - nimmt man sich ein Wochenende, kopiert nicht nur die Userdaten - sondern auch die Zugriffsberechtigungen.
Dann verstellt man in der AD das Userhome / Profilpfad.
Admodify.net
Grundsätzlich sollten Userprofile "irgendwo" auf einem Server liegen - aber garantiert nicht auf dem c:\! ...
(Auch wenn man Kontigente benutzt) - dann "klappt" das auch ohne Robocopy mit einem Image (das kein Backup ist/ersetzt) - aber für den Fall eindeutig die bessere Wahl ist.
Gruß
@ Bastla: Die Idee mit den Usern und einer Datei ist gut
nicht @bastla (der weiß das eh)
Mittels eines Findstr /v am ende könnte man auch den umgezogenen User aus der Liste der delinquenten löschen.
Aber wie bereits an anderer Stelle geschrieben - ich bin Pessimist - oder andersherum Optimist mit Lebenserfahrung
Servus,
wenn du es nicht so machst, sondern so wie ich es (schon öfters gemacht habe) - dann brauchst du das mit der Abfrage nicht.
Die Zeit, die du mit meinem Weg (den ich mir bestimmt nicht allein ausgedacht habe) - sparst + die Probleme, die man mit dem Weg nicht hat - da wärst du heute schon fertig
Nächstes Wochenende kommt ja noch
Bedenke alleine meine Zeile mit dem erneuten Findstr, dass unbedingt nötig ist
Dein Weg - den Bastla dir geebnet hat - ist Murks!!
btw: nur für den Fall der Fälle - im Findstr würde ein /i fehlen - denn die User melden sich seltenst genau so an, wie Sie in einer Liste stehen ;.-)
Vorname.Nachname
Gruß
wenn du es nicht so machst, sondern so wie ich es (schon öfters gemacht habe) - dann brauchst du das mit der Abfrage nicht.
Die Zeit, die du mit meinem Weg (den ich mir bestimmt nicht allein ausgedacht habe) - sparst + die Probleme, die man mit dem Weg nicht hat - da wärst du heute schon fertig
Nächstes Wochenende kommt ja noch
Bedenke alleine meine Zeile mit dem erneuten Findstr, dass unbedingt nötig ist
- wenn die Daten kopiert nicht verschoben
- wenn es einen "gewollten" Abbruch" (weil User angemeldet ist) gibt.
Dein Weg - den Bastla dir geebnet hat - ist Murks!!
btw: nur für den Fall der Fälle - im Findstr würde ein /i fehlen - denn die User melden sich seltenst genau so an, wie Sie in einer Liste stehen ;.-)
Vorname.Nachname
Gruß