Page 1 of 1

lokale Administratoren bereinigen

Posted: 23. Nov 2005, 18:06
by matrix42fan
Hallo,

ich möchte gerne bei den lokalen Administratoren nur bestimmte Gruppen/Benutzer hinzufügen und die restlichen Gruppen/Benutzer alle löschen.
Mit LocalGroup.DelMember muss ich ja die Gruppen/Benutzer explizit angeben, die ich löschen will.
Irgendeine Idee?

Posted: 24. Nov 2005, 11:55
by Weyck
Läßt sich bestimmt auch mit Empirum lösen, würde aber ein VB Skript vorziehen. Mittels WMI die Gruppenmitglieder auslesen und in einer Schleife den Namen der Mitglieder prüfen: wenn Name nicht gleich Name dann lösche Gruppenmitgliedschaft für Name.

Posted: 24. Nov 2005, 13:33
by S.Beckmann
Ein anderer Weg wäre GPO über Restrictet Groups. Da kann man genau vorgeben, wass in der Gruppe sein soll. Alles andere wird automatisch entfernt! Kann Vor- und Nachteil sein!

Posted: 20. Jun 2006, 08:44
by AFiedler
Hallo,

ich habe auch ein kleines Problem.
Und zwar haben wir noch einen kleinen Missstand, so das auf einigen Rechern Domänen User noch in der lokalen Gruppe Administratoren stecken. Ich würde jetzt gerne ein Paket machen in dem ich überprüfe ob der sich gerade angemeldete User in dieser Gruppe befinden und wenn ja soll er dort gelöscht und in die Gruppe Hauptbenutzer eingefügt werden. Kann mir einer sagen wie ich das hin bekomme?

Gruß A.Fiedler

Posted: 20. Jun 2006, 10:03
by S.Beckmann
Hier mal eine Idee, die wir umgesetzt haben:

Man erstelle eine Machinen- Variable in Empirum, welche einen User, mehrere User mit Komma getrennt oder Gruppen enthält. Man nenne sie z.B. Hauptbenutzer.

Man erstelle eine Paket, welches jeden Tag einmal installiert wird, und liest diesen Inhalt aus und schreibt sie irgend wo auf C: in eine Ini. In etwa so: C:\Sys\PowerUsers.ini

Die Ini sollte so aussehen:
[PowerUsers]
%ComputerName%=UserA (%Computername% ist mit dem richtigen Hostnamen zu ersetzen)

Dann erstelle man ein VBScript, welches die INI ausliest, und dann zu den Hauptbenutzer hinzufügt.
Dieses Schript fügt man zu den GPO als Startup und Shutdown- Script hinzu. Dann richtet man noch in der GPO Restrictet Groups ein.

Erreichtes Ziel:
Alle User in der Gruppe für welche Restricet Grups konfiguriert wurden, und da nicht in der GPO konfiguriert sind, fleigen raus. Über das VB-Script werden aber die Benutzer, welche Hauptbenutzer sein sollen, wieder hinzugefügt.
So sind wirklich nur die Hauptbenutzer Hauptbenutzer, welche es sein dürfen. Man kann die Berechtigungen jederzeit ändern, da das Paket ja immer wieder installiert wird.

Dies kann man auch z.B. für die Administratoren machen. So kann man einem "Normalen" User zum Administrator au "Einer" Kiste machen, und niocht gleich auf allen... Und das ganze wie schon erwähnt, zentral administrierbar.

@A.Fiedler, das würde ihr Porblem auch lösen, und es längerfristig sogar noch verbessern...

Gruss
Steff

Posted: 20. Jun 2006, 10:33
by Walter_Schulz
AFiedler wrote: Ich würde jetzt gerne ein Paket machen in dem ich überprüfe ob der sich gerade angemeldete User in dieser Gruppe befinden und wenn ja soll er dort gelöscht und in die Gruppe Hauptbenutzer eingefügt werden.
Gruß A.Fiedler
callhidden cmd /c For /F %a in ('net localgroup administratoren^|find /I "<dom>\%username%"') do net localgroup administratoren <dom>\%username% /delete & net localgroup hauptbenutzer <dom>\%username% /add

Ciao!
Walter Schulz

Posted: 20. Jun 2006, 11:23
by AFiedler
Hallo Herr Beckmann,

vielen Dank für die Beschreibung, das hört sich ansich schon mal ganz gut an, aber bedarf anscheind ein wenig mehr arbeit. Besodners wo ich mich mit VBScript über haupt nicht aus kenne.

Für meine Zwecke reicht ansich erstmal der Befehl von herrn Schulz aus, aber da gibt es ein kleines Problem. Wenn ich callhidden cmd /c For /F %a in ('net localgroup administratoren^|find /I "<dom>\%username%"') do net localgroup administratoren <dom<\%username% /delete & net localgroup hauptbenutzer <dom<\%username% /add über ein Paket aufrufe klappt es nicht, wenn ich es aber in einer Console eingebe schon. Woran könnte das liegen.

Wenn ich mal /c wegnehme und callhidden in call umschreibe wird ein Concolen fenster geöffnet aber nichts passiert. Als wenn er alles ab dem FOR nicht abarbeitet.

Posted: 20. Jun 2006, 16:12
by Walter_Schulz
Ich kann mir kaum vorstellen, dass ein "Callhidden" von der Konsole verarbeitet werden kann ...
Ich wuerde mal %Windowsuser% statt %username% verwenden. <dom> wurde durch den korrekten Domaenennamen ersetzt?

Ciao!
Walter Schulz

Posted: 21. Jun 2006, 07:47
by AFiedler
in der Konsole lasse ich natürlich das call/callhidden weg...

an %username% liegt es nicht und der Domänen name wurde auch eingetragen.

der FOR befehl wird garnicht abgeabreitet. das sieht man daran wenn man das /c wegnimmt wird einfach nur das Konsolen Fenster geöffnet und weiter passiert nichts.

Posted: 21. Jun 2006, 08:52
by Walter_Schulz
Ich wuerde mal testweise ein
CALL cmd /k
in die Setup.inf einbauen und testen, ob der FOR-Befehl dort abgearbeitet wird.

Ciao!
Walter Schulz

Posted: 21. Jun 2006, 10:58
by AFiedler
Ich habe es jetzt so gelöst das ich die Ausgabe von net localgroup administratoren in eine Datei kopiere und dann mittel DoesTextInFileExist überprüfe ob der User in der Gruppe vorhanden ist. Falls das zutrifft wird er über den Aufruf gelöscht: callhidden cmd /c net localgroup administratoren BAD\%username% /delete & net localgroup hauptbenutzer BAD\%username% /add

Vielen Dank für die Hilfe...

Gruß Armin Fiedler