IFmember – Parameter und Error Level

IFmember ist ein Tool von Microsoft, um zu prüfen ob ein Benutzer Mitglied einer bestimmten Active Directory Gruppe ist. Die IFmember.exe war früher sehr gerne gesehen und wurde fast überall verwendet. Das größte Einsatzgebiet war die Verwendung in einem Logon Script, um beispielsweise Laufwerke anzubinden. Natürlich funktioniert das heute auch noch. Aber ich schreibe hier in der Vergangenheit, da das Anbinden von Laufwerken heute Gruppenrichtlinien übernehmen. Doch wie funktioniert das Tool, welche Parameter gibt es und welche Error Level werden ausgegeben? Wir klären euch auf.

ifmember
Clker-Free-Vector-Images / Pixabay

IFmember Download

Das Tool ist leider nicht in Windows integriert. Außerdem wird es nicht mehr weiterentwickelt, da es eigentlich nicht mehr benötigt wird. Ausnahmen gibt es immer. Wer es dennoch benötigt, der kann es natürlich online herunterladen. Das Tool ist in den Windows Server 2003 Resource Kit Tools enthalten. Den IFmember Download gibt es hier:

IFmember herunterladen (Heise)

IFmember Parameter

Beim Aufruf des Tools werden uns die IFmember Parameter angezeigt. Beim Ausführen der exe in der Kommandozeile / CMD wird uns folgendes ausgegeben:

C:\>ifmember.exe
usage: IFMEMBER.EXE [/verbose] [/list] groupname ...
        /verbose will print out all matches.
        /list will print out all groups user is a member of.
        Return Code shows number of groups this user is a member of.
        Example: IFMEMBER.EXE /v /l "MyDomain\Domain Users" Users Everyone

Es gibt also folgende Parameter die verwendet werden können:

Parameter

Bedeutung

/verbose

Gibt alle Treffer aus

/list

Listet alle Active Directory Gruppen, in denen der Benutzer Mitglied ist

GRUPPENNAME

Name der Active Directory Gruppe die überprüft werden soll, ob der Benutzer Mitglied ist

ifmember.exe /list
User is a member of group yourdomain\Domänen-Benutzer.
User is a member of group yourdomain\Test-Group.

Hier werden alle Gruppenmitgliedschaften gelistet.

IFmember Error Level

Wenn man nun den Befehl ausführt sieht man leider… …erstmal nichts. Das Ergebnis der Abfrage wird leider nicht in der Konsole ausgegeben. Das verwirrt zunächst. Allerdings kann man die IFmember ErrorLevel abfragen. Hier bekommen wir unser Ergebnis geliefert.

C:\>ifmember.exe Administratoren
C:\>echo %ERRORLEVEL%
1

Hier sieht man schön, dass der ErrorLevel “1” zurückgeliefert wird. Aber was er bedeutet seht ihr hier:

Error Level

Bedeutung

0

Benutzer ist KEIN Mitglied der abgefragten Gruppe

1

Benutzer IST Mitglied der abgefragten Gruppe

-1

Benutzer ist Mitglied in zu vielen Gruppen, Prüfung ist fehlgeschlagen, beziehungsweise konnte nicht überprüft werden

IFmember Beispiel

Zum besseren Verständnis habe ich ein Beispiel vorbereitet. Je nach Error Level den man zurück bekommt, kann man dann eine Aktion in der Batch Datei ausführen.

\\your.domain\NETLOGON\IFMEMBER.EXE DEINEGRUPPE
Goto ANTWORT%ERRORLEVEL%

:ANTWORT0
REM Ist nicht Mitglied der Gruppe
DANN TU DAS
Goto ANTWORTENDE

:ANTWORT1
REM Ist Mitglied der Gruppe
DANN TU DAS
Goto ANTWORTENDE

:ANTWORT-1
REM Mitgliedschaft konnte nicht geprüft werden
DANN TU DAS
Goto ANTWORTENDE

:ANTWORTENDE
REM weiterer Batch Quellcode

In diesem Beispiel wird überprüft, ob der angemeldete Benutzer Mitglied in der Gruppe “DEINEGRUPPE” ist. Wenn ja springe zu “:ANTWORT1”, wenn nicht dann springe zu “:ANTWORT0”. Beim Text “DANN TU DAS” kann natürlich der gewünschte Befehl oder Aufruf gestartet werden.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments