Jump to content

Gruppen sperren mit Batch


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Oder mit einer Batch.

 

Hallo,

 

als Ansatz:

 

Einlesen der Gruppenmitglieder in eine Liste/Datei mit net group.

 

Dann Deaktivieren/Aktivieren des Kontos mit net user.

 

http://winnt.thema-compact.de/bv/bvsh/windows-nt.html

 

 

Die Verarbeitung mit der For-Schleife und der Textiteration. (for /?)

 

http://www.bb-sys.de/bbshell.htm

 

Gruß

Edgar

Link zu diesem Kommentar

Habe hier mal den Ablauf beschrieben, es steht mit folgendem Beitrag in Verbindung:

 

http://www.mcseboard.de/showthread.php?threadid=40763&perpage=10&pagenumber=2

 

1. 5 min. vor Aktion 2 Domänen-Benutzer sperren

2. Clients fahren bei vorgegebener Zeit per Alarm Funktion des

BIOS hoch

3. überprüfen ob Benutzer eingeloogt ist

Ja - Computer neustarten

Nein - Keine Aktion

4. Backup startet auf allen Clients, und dem Server

5. Überprüfen ob Backup auf Clients, und Server beendet wurde

Ja - Clients herunterfahren

Domänen-Benutzer entsperren

Nein - Keine Aktion

6. ENDE

 

Dachte das mit den PStools zu realisieren, auch für andere Möglichkeiten stehe ich offen.

Link zu diesem Kommentar

Gehen wir mal schrittweise vcr.

 

Mit

 

net group gruppenname

 

wird die Benutzer einer Gruppe angzeigt

 

Bei mir heisst eine Gruppe FfBM.

 

net group FfBM

 

Die Ausgabe

 

Gruppenname FfBM

Beschreibung

 

Mitglieder

 

 

-------------------------------------------------------------------------------

BruhnsA FrieborgN GerthY

GinderS HoffmannA JacubiecE

KoselD KucarD LederhoseM

LehmbeckerN LemkeB LuedemannK

MoellerK PenzinS ResselM

Roemhildc WindtA

Der Befehl wurde erfolgreich ausgefhrt.

 

Die Benutzernamen stehen im Orginal weiter auseinander.

 

Nachfolgend wir die Ausgabe in eine Datei umgeleitet.

 

net group FfBM > c:\FfBM.txt

 

Die Ausgabe des ersten Blocks einer Zeile mit

 

for /F %%e in (c:\FfBM.txt) do echo %%e

 

 

Die nichtrelevanten Zeilen werden übersprungen

 

for /F "skip=6" %%e in (c:\FfBM.txt) do echo %%e

 

Der jeweils erste Block einer Zeile wird in eine Datei geschrieben

 

for /F "tokens=1 skip=6" %%e in (c:\FfBM.txt) do echo %%e >> c:\user.txt

 

BruhnsA

GinderS

KoselD

LehmbeckerN

MoellerK

Roemhildc

Der

 

Wie werden wir das Wort Der los? Wir könntens es auch belassen und einen User Der anlegen. Versuchen wir es mal.

 

 

Wir schreiben drei Zeilen für drie Blöcke.

 

for /F "tokens=1 skip=6" %%e in (c:\FfBM.txt) do echo %%e >> c:\user.txt

 

for /F "tokens=2 skip=6" %%e in (c:\FfBM.txt) do echo %%e >> c:\user.txt

 

for /F "tokens=3 skip=6" %%e in (c:\FfBM.txt) do echo %%e >> c:\user.txt

Link zu diesem Kommentar

Die unerwünschen Begiffe werden so nicht bearbeitet.

 

c:

cd\

 

net group FfBM > c:\FfBM.txt

 

set token=1

call :subfor

 

set token=2

call :subfor

 

set token=3

call :subfor

 

pause

 

:subfor

for /F "tokens=%token% skip=6" %%e in (c:\FfBM.txt) do call :subuser %%e

goto :eof

 

:subuser

set user=%1

if %user%"==Der" goto :eof

if %user%"==Befehl" goto :eof

if %user%"==wurde" goto :eof

echo %user% >> c:\user.txt

goto :eof

Link zu diesem Kommentar

Die Bearbeitung wird zum Unterprogramm.

 

c:

cd\

 

net group FfBM > c:\FfBM.txt

call :subwork

pause

 

:subwork

set token=1

call :subfor

 

set token=2

call :subfor

 

set token=3

call :subfor

 

:eof

 

:subfor

for /F "tokens=%token% skip=6" %%e in (c:\FfBM.txt) do call :subuser %%e

goto :eof

 

:subuser

set user=%1

if %user%"==Der" goto :eof

if %user%"==Befehl" goto :eof

if %user%"==wurde" goto :eof

echo %user% >> c:\user.txt

goto :eof

Link zu diesem Kommentar

Mit net user, den Parametern Benutzername und dem Schalter Active:no wird das Konto deaktiviert.

c:

cd\

 

net group FfBM > c:\FfBM.txt

 

call :subwork

pause

 

:subwork

set token=1

call :subfor

 

set token=2

call :subfor

 

set token=3

call :subfor

 

:eof

 

:subfor

for /F "tokens=%token% skip=6" %%e in (c:\FfBM.txt) do call :subuser %%e

goto :eof

:subuser

set user=%1

if %user%"==Der" goto :eof

if %user%"==Befehl" goto :eof

if %user%"==wurde" goto :eof

net user %user% /active:no

goto :eof

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...