reset_user
Zielsetzung
Ein Benutzer wird im Active Directory eingetragen bzw. zurückgesetzt.
Das Benutzerverzeichnis wird gesichert. Zurücksetzen einer Liste
von Benutzern ist möglich.
Realisierung
Der Eintrag im Active-Directory wird mit dem Befehl
net user realisiert; Zugriffsberechtigungen
für das Benutzerverzeichnis werden mit cacls
gesetzt:
@echo off
if 0%1==0 goto help
if %1==/all goto alle
echo Zurcksetzen von Benutzer %1
echo =================================
g:
cd\
echo Lschen von Benutzer...
net user %1 /delete
echo Vorherige Sicherung lschen...
rmdir save_%1 /s /q
echo Benutzerverzeichnis sichern...
ren %1 save_%1
echo Erstellen von Benutzerverzeichnis...
mkdir %1
echo Benutzerverzeichnis kopieren...
xcopy "\\server\userdaten\Default-User Dir\*.*" %1\ /E /I /Q
/Y
echo Benutzer erstellen...
net user %1 "Kennwort" /add /homedir:\\server\userdaten\%1 /scriptpath:LOGIN.BAT
echo Setze Kennworteinstellung...
pw_exp.vbs %1
echo Setze Berechtigungen...
cacls %1 /T /E /R Jeder /P DOMAIN\%1:C >nul
goto ende
:alle
echo Alle Benutzer zurcksetzen - ACHTUNG!
echo ==========================
echo.
echo * * * * * * * * * * * * * * * * * * * * * * * * * *
echo * Vorsicht! Sicherheitskopie wird berschrieben! *
echo * * * * * * * * * * * * * * * * * * * * * * * * * *
echo.
echo ACHTUNG! Wollen Sie wirklich ALLE Userdaten lschen?
echo (j=ja, n=nein)
set weiter=
set /p weiter=
if not %weiter%==j goto ende
FOR /L %%i IN (0,1,100) DO call reset_user user%%i
goto ende
:help
echo.
echo Syntax: "reset_user [User]"
echo ===========================
echo User = Benutzer-Name (user###)
echo.
echo ALLE User zurcksetzen: "reset_user /all"
echo.
:ende
Hierbei wird das VBScript pw_exp.vbs aufgerufen,
das die Kennworteinstellungen setzt:
set args=WScript.Arguments
dim usr
dim Benutzer
if args.Count=1 then
Benutzer=args(0)
Set usr = GetObject("WinNT://www.domain.de/"&Benutzer&",user")
usr.Put "PasswordExpired", 1
usr.SetInfo
end if
'if args.Count>1 then Msgbox "Zu viele Parameter!"
|