ZnilTools:ifmemberDELUXE.exe
Aus znilwiki
Changelog:
- 2011 erste Version
- 2022 Überarbeitung
- 01.03.2023 Version 1.2.0.2 - Cache Mode + Standarddrucker setzen
- 21.07.2023 Version 1.2.0.6 - kleinere Korrekturen / Fehler in der Hilfe (/CacheList) / Rechtschreibfehler
- 14.08.2023 Version 1.2.0.23 - Schalter für persistentes Mounten + Mounten des Homelaufwerkes
Aktuellste Version
Download neueste Version: IfMemberDeluxe V1.2.0.23.zip (Version 1.2.0.23)
Download vorherige Version: IfMemberDeluxe_V1.2.0.6.zip (Version 1.2.0.6)
Download vorherige Version: IfMemberDeluxe_V1.2.0.2.zip (Version 1.2.0.2)
Download vorherige Version: IfMemberDeluxe.zip (Version 1.0.2.9)
Getestet unter: Windows XP, Windows Server 2003, Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
Fehler oder Anregungen bitte an: Bernhard@znil.de
Wer mit diesem Tools sein Ziel nicht erreicht findet eventuell mit ifmemberexecute.exe was er sucht!
Stichwörter: ifmember deluxe ifmember.exe deluxe ismember deluxe ismember.exe deluxe
Beschreibung
ifmemberDELUXE.exe ist eine Erweiterung der bekannten Programme ifmember.exe und ismember.exe.
Mehr zu diesen beiden "Originalen" findet Ihr unter AD-Gruppenmitgliedschaft in Batchdateien auswerten - ifmember.exe oder ismember.exe
Es verbindet in Abhängigkeit von Gruppenmitgliedschaften Netzlaufwerke und Netzwerkdrucker. Es ist für den Einsatz in Anmeldescripten in Active Directory Domänen gedacht.
IfmemberDELUXE.exe bietet zur Zeit folgende Funktionen:
- prüfen ob ein Benutzer direkt oder indirekt (verschachtelte Gruppen) Mitglied einer Gruppe ist
- Verbinden von Netzlaufwerken mit Wahl des Laufwerksbuchstaben
- Setzen der Bezeichnung für das Netzlaufwerk (Anzeigename)
- Verbinden von Netzwerkdruckern:
- Ohne Prüfung des Betriebssystems
- Mit Prüfung ob es ein x86 (32Bit) oder x64 (64Bit) System ist - und Auswahl des passenden Printservers
- es wird kein Fenster beim Verbinden eingeblendet wie bei anderen Methoden
- Setzen des Standarddruckers
- Chaching Modus
- Per Aufruf werden die Mitgliedschaften in der Registry zwischengespeichert
- Für Skripte mit vielen Aufrufen
- Erhöht die Abarbeitung um ca. 50%
- Persistenz
- per einmaligen Aufruf mit dem Parameter
/PERSISTENT:YES
bleiben die Netzlaufwerke dauerhaft verbunden
- per einmaligen Aufruf mit dem Parameter
- Homelaufwerk
- per Schalter
/MAPHOMEDRIVE
wird das im Active Directory hinterlegte Homelaufwerk gemappt
- per Schalter
Anleitung
Vorweg: Ihr solltet in euren Scripten / Batch-Dateien entweder den vollständigen Pfad zur ifmemberdeluxe.exe angeben, oder die Datei in das gleiche Verzeichnis legen.
Umlaute funktionieren zwar, die Verwendung erfolgt aber auf eigene Gefahr.
Bei Leerzeichen in den Namen oder Pfaden diese bitte in " " setzen (Gänsefüsschen oben, SHIFT + 2)
Die eingebaute Hilfe erreicht ihr über den Aufruf von IfMemberDeluxe.exe ohne Parameter oder über
IfMemberDeluxe.exe /?
Verbinden von Netzlaufwerken
Aufruf für Netzlaufwerk mappen: (Allgemein)
IfMemberDeluxe.exe [Gruppenname] [Laufwerksbuchstabe:] [UNC-Pfad-Netzlaufwerk]
Aufruf für Netzlaufwerk mappen: (mit Label / Bezeichnung)
IfMemberDeluxe.exe [Gruppenname] [Laufwerksbuchstabe:] [Label]:[UNC-Pfad-Netzlaufwerk]
Parameter:
[Gruppenname] : Name der zu prüfenden Gruppe [Laufwerksbuchstabe:] : Buchstabe der für das Mapping verwendet werden soll [Label] : Bezeichnung für das Netzlaufwerk falls gewünscht
Beispiel 1: Laufwerk verbinden
Wenn der Benutzer Mitglied der Gruppe Buchhaltung ist soll N: mit \\FILESERVER\Buchhaltung verbunden werden
ifmemberdeluxe.exe Buchhaltung N: \\FILESERVER\Buchhaltung
Ergebnis:
Beispiel 2: Laufwerk verbinden und eigene Bezeichnung vergeben
Wenn der Benutzer Mitglied der Gruppe Buchhaltung ist soll N: mit \\FILESERVER\Buchhaltung verbunden werden und Buchhaltung als Label gesetzt werden
ifmemberdeluxe.exe Buchhaltung N: Buchhaltung:\\FILESERVER\Buchhaltung
Ergebnis:
Beispiel 3: Verwendung von Leerzeichen im Gruppennamen und Bezeichnung
Wenn der Benutzer Mitglied der Gruppe Unsere Buchhaltung ist soll N: mit \\FILESERVER\Buchhaltung verbunden werden und Buchhaltung - nur Dokumente als Label gesetzt werden
ifmemberdeluxe.exe "Unsere Buchhaltung" N: "Buchhaltung - nur Dokumente":\\FILESERVER\Buchhaltung
Verbinden von Netzwerkdruckern (32 und 64Bit)
Aufruf für Netzwerkdrucker mappen: (Allgemein)
IfMemberDeluxe.exe [Gruppenname] [UNC-Pfad-Drucker]
Aufruf für Netzwerkdrucker mappen Betriebssystemabhängig: (32/64Bit)
IfMemberDeluxe.exe [Gruppenname] x86:[UNC-Pfad-Drucker] IfMemberDeluxe.exe [Gruppenname] x64:[UNC-Pfad-Drucker]
Aufruf für Netzwerkdrucker mappen und als Standarddrucker setzen:
IfMemberDeluxe.exe [Gruppenname] Default:[UNC-Pfad-Drucker] IfMemberDeluxe.exe [Gruppenname] Defaultx86:[UNC-Pfad-Drucker] IfMemberDeluxe.exe [Gruppenname] Defaultx64:[UNC-Pfad-Drucker]
Parameter
[Gruppenname] : Name der zu prüfenden Gruppe [UNC-Pfad-Netzlaufwerk] : Pfad zu Dateiserver / Freigabe für Netzlaufwerk [UNC-Pfad-Drucker] : Pfad zu Druckserver / Freigabename Drucker x86:[UNC-Pfad-Drucker] : Pfad zu Druckerserver mit 32Bit Druckertreiber x64:[UNC-Pfad-Drucker] : Pfad zu Druckerserver mit 64Bit Druckertreiber Default:[UNC-Pfad-Drucker] : Pfad zu Druckserver / Freigabename Drucker Default:x86:[UNC-Pfad-Drucker] : Pfad zu Druckerserver mit 32Bit Druckertreiber Default:x64:[UNC-Pfad-Drucker] : Pfad zu Druckerserver mit 64Bit Druckertreiber
Beispiel 1: Drucker verbinden
Wenn der Benutzer Mitglied der Gruppe Raum103 ist soll der Drucker \\Printserver\Etage1 verbunden werden
ifmemberdeluxe.exe Raum103 \\Printserver\Etage1
Beispiel 2: Drucker verbinden wenn der Computer ein 32Bit Betriebssystem hat
Wenn der Benutzer Mitglied der Gruppe Raum103 ist und der Computer ein 32Bit Betriebssystem hat, soll der Drucker \\Printserver32Bit\Etage1 verbunden werden
ifmemberdeluxe.exe Raum103 x86:\\Printserver32Bit\Etage1
Beispiel 3: Drucker verbinden wenn der Computer ein 64Bit Betriebssystem hat
Wenn der Benutzer Mitglied der Gruppe Raum103 ist und der Computer ein 64Bit Betriebssystem hat, soll der Drucker \\Printserver64Bit\Etage1 verbunden werden
ifmemberdeluxe.exe Raum103 x64:\\Printserver64Bit\Etage1
Beispiel 4: Aufruf in einem Anmeldescript mit 32 und 64Bit Druckertreiber
Wenn der Benutzer Mitglied der Gruppe Raum103 ist soll der Drucker \\Printserver64Bit\Etage1 verbunden werden -> mit den passenden Printerserver
ifmemberdeluxe.exe Raum103 x86:\\Printserver32Bit\Etage1 ifmemberdeluxe.exe Raum103 x64:\\Printserver64Bit\Etage1
Der Drucker ist auf 2 Printserver frei gegeben, jeweils unter dem Namen Etage1. Nur einer der beiden Befehle ist erfolgreich
Beispiel 5: Drucker verbinden und als Standarddrucker setzen
Wenn der Benutzer Mitglied der Gruppe Raum103 ist soll der Drucker \\Printserver\Etage1 verbunden und als Standard gesetzt werden
ifmemberdeluxe.exe Raum103 Default:\\Printserver\Etage1
Testfunktionen
Auflisten aller Gruppenmitgliedschaften
Auflisten aller Gruppenmitgliedschaften:
IfMemberDeluxe.exe /Liste
Test Betriebssystem auf 32/64Bit
Test Betriebssystem auf 32/64Bit
IfMemberDeluxe.exe /OS
Caching / Tuning der Geschwindigkeit / Performance
Generell dauert die erste Abfrage der Gruppenmitgliedschaften etwas "länger" als alle nachfolgenden Abfragen.
Wenn es dann noch immer zulange dauert findet unten stehend den Cache-Mode der mit Version 1.0.2.9 eigenführt wurde.
Wird beim Druckermapping die Funktion der 32/64Bit Abfrage genutzt, so kostet auch diese Zeit. Auch hier wiederum beim ersten mal etwas länger als danach, jedoch ist die Verzögerung jedes Mal zu erkennen.
Werden viele Laufwerke und Drucker gemappt bzw. geprüft kann die Abfrage der Gruppenmitgliedschaften gecached werden:
Caching-Befehle: ---------------- Dies kann bei vielen Mappings eine Beschleunigung von ca. 50% bringen (gemessen mit 142 Laufwerken und 128 Druckern) IfMemberDeluxe.exe /CacheCreate ---> Ermittelt die Gruppenmitgliedschaften und speichert diese in der Registry Werden diese Einträge beim Programmstart gefunden so werden diese statt der AD-Abfrage verwendet. IfMemberDeluxe.exe /CacheList ---> Liest den Cache aus und listet alle Gruppen auf in denen der Benutzer Mitglied ist. IfMemberDeluxe.exe /CacheDelete ---> Löscht die Caching-Einträge wieder aus der Registry
Beispiel für Caching:
REM Pfad zu IfMemberDeluxe setzen
set IFMEMBER="\\znil.local\NETLOGON\Tools\IfMemberDeluxe.exe"
REM Beim Start des Skriptes Cache anlegen:
%IFMEMBER% /CacheCreate
REM Laufwerke mappen
%IFMEMBER% Laufwerk-EG-G-R* G: Erdgeschoss:\\FILE01\EG
%IFMEMBER% Laufwerk-OG-G-R* G: Obergeschoss:\\FILE01\OG
REM Drucker mappen
%IFMEMBER% Drucker-EG \\PRINT01\Drucker-EG
%IFMEMBER% Drucker-OG Default:\\PRINT01\Drucker-OG
REM Cache wieder löschen (nicht unbedingt notwendig, jedes /CacheCreate löscht die vorhandenen Einträge zuvor)
%IFMEMBER% /CacheDelete
Ausgaben unterdrücken
Setzt man an den Anfang des Anmeldeskriptes ein
set BQUIET=TRUE
so werden - bis auf Fehlermeldungen - alle Textausgaben von IfMemberDeluxe unterbunden.
Laufwerke persistent mappen
Laufwerke persistent mappen --------------------------- IfMemberDeluxe.exe /PERSISTENT:YES ---> Speichert in der Registry die Information das alle Laufwerksmapping persistent sein sollen, also nach dem Ab- und Wiederanmelden verbunden bleiben IfMemberDeluxe.exe /PERSISTENT:NO ---> Setzt die Voreinstellung wieder auf Nicht-Persistent (Default) Speicherort: HKEY_CURRENT_USER\Software\znil.net\IfMemberDeluxe im Wert persistent
Beispiel:
\\znil.local\NETLOGON\Tools\IfMemberDeluxe.exe /PERSISTENT:YES
einmal an den Anfang des Anmeldeskriptes setzten. Danach werden alle Netzlaufwerke persistent gesetzt, sind also auch nach einer Ab- und Anmeldung noch vorhanden.
IfMemberDeluxe.exe prüft bei der nächsten Anmeldung ob die Pfade stimmen und korrigiert diese ggf.
Homelaufwerk mappen
Homedrive mappen ---------------- IfMemberDeluxeV7.exe /MAPHOMEDRIVE ---> Mappt das Homelaufwerk mit dem im AD angegebenen Laufwerksbuchstaben und Pfad
Beispiel:
\\znil.local\NETLOGON\Tools\IfMemberDeluxe.exe /MAPHOMEDRIVE
prüft ob im Active Directory für den Benutzer ein Benutzerlaufwerk gesetzt ist (Reiter Profil) und verbindet das Laufwerk mit den dortigen Daten.
Falls das Laufwerk schon verbunden ist, der UNC-Pfad aber unterschiedlich ist wird das Laufwerk getrennt und korrekt wieder verbunden.
Einschränkungen
Ich habe es zwar noch nicht getestet - aber auch IfMemberDELUXE.exe wird von einen Fehler bei den Gruppenabfragen betroffen sein.
Das bedeutet, das bei mehr als 1.000 Gruppen die Abfrage ggf. nur die ersten 1.000 zurückmelden wird - das Problem sollte also eher selten auftreten.
---