Viele gestandene Administrator*Innen kennen bestimmt noch das Tool “ifmember.exe” aus dem Windows Server 2003 Ressource Kit. Mit diesem war es möglich, einfach die Gruppen-Mitgliedschaft von Benutzern abzufragen um z.B. via Anmeldeskript dann Netzlaufwerke, Drucker und Co. zuweisen zu können.
Heutzutage hat man mittels GPO bessere Möglichkeiten wie zuvor genannt über ein Anmeldeskript Ressourcen zuzuweisen, dennoch kann es Situationen geben, in denen man etwas Skripten muss.
Ebenfalls ein klassischer Weg und mit Bordmitteln klappt das mit
net user %username% /domain
In der Ausgabe sind unter anderem die Gruppenmitgliedschaften enthalten. In der Kombination mit “find” lässt sich so eine Zugehörigkeit feststellen und auf deren Basis etwas starten:
net user %username% /domain | find /i "<Gruppenname>" if %errorlevel%==0 ( rem Diese Befehle ausfuehren, wenn der Benutzer Mitglied einer bestimmten Gruppe ist )
Ähnliches kann man mit der Gruppenmitgliedschaft von Computern machen:
net group <Gruppenname> /domain | find /i "%computername% if %errorlevel%==0 ( rem Diese Befehle ausfuehren, wenn der Computer Mitglied einer bestimmten Gruppe ist )
Alternativ kann man selbst Listen pflegen und abfragen ob ein Benutzer oder Computer dort eingetragen ist. Ein Beispiel:
type "\\%DeploymentServer%\%DeploymentShare%\AV.txt" | find /i "%computername%" if %errorlevel%==0 ( rem Diese Befehle ausfuehren, wenn der Computer in dieser Liste eingetragen ist )
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Hallo lieber Andy,
danke für Deinen Blog, aus dem wir schon viele wertvolle Dinge “mitgenommen” haben.
Der Nachteil von “net user %username%” besteht darin, dass verschachtelte Gruppen nicht abgebildet werden, das musste ich leider heute feststellen – zwei User waren in einer untergeordneten Gruppe Mitglied.
Die Alternative besteht in “whoami /groups /nh” – dieser Befehl listet die Gruppen auf, in denen ich Mitglied bin. Ich habe es nun folgendermaßen gelöst:
rem — schreibe alle Gruppen in eine temporäre Datei
whoami /groups /nh > %temp%usergroups.txt
rem — durchsuche die Datei nach dem Gruppennamen
find “SG_Gruppenname” %temp%usergroups.txt
rem — falls es gefunden wurde, dann mappe es
if %errorlevel%==0 (net use L: \FileserverFreigabe$)
Herzliche Grüße
Ralf