Aktionen

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

Ifmemberdeluxe logo.png


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
  • Homelaufwerk
    • per Schalter /MAPHOMEDRIVE wird das im Active Directory hinterlegte Homelaufwerk gemappt





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: IfMemberDeluxe-001.gif

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: IfMemberDeluxe-002.gif

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

Ergebnis: IfMemberDeluxe-003.gif




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

Beispiel:
IfMemberDeluxe-004.gif



Test Betriebssystem auf 32/64Bit

Test Betriebssystem auf 32/64Bit

IfMemberDeluxe.exe /OS

Beispiel:
IfMemberDeluxe-005.gif




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.


---

Kommentare

Loading comments...