AdminsRobot Datenbasis erzeugen

AdminsRobot kann mit einem zentralen Objekt-Datenpool betrieben werden. Das hat den Vorteil, dass alle AdminsRobot-Benutzer immer die gleichen, aktuellen Objekte zur Verfügung haben. Der zentrale Datenpool besteht aus der Datei GlobalObjects.txt. Jeder Benutzer hat die Möglichkeit, sich zusätzlich individuelle Objekte zu erstellen. Diese werden automatisch in der Datei PersonalObjects.txt gespeichert und sind für andere AdminsRobot-Benutzer nicht sichtbar.

PCs aus DHCP-Server extrahieren

Die einfachste Möglichkeit, an PC-Namen, IP-Adressen und Mac-Adressen zu kommen, ist der Export aus der DHCP-Datenbank. Das folgende Skript ExportDhcp.vbs exportiert die Hostnamen, Mac-Adressen und IP-Adressen aus einer Microsoft DHCP-Datenbank in die Datei GlobalObjects.txt, die dann als Datenquelle für AdminsRobot verwendet werden kann. Aber Schritt für Schritt:

  1. Speichern Sie die Datei ExportDhcp.vbs in einem Verzeichnis auf Ihrem DHCP-Server, z.B. in C:\Program Files (x86)\DhcpExport. (Kann auch ein anderer Server sein. Entscheidend ist der Benutzeraccount, unter dem das Skript ausgeführt wird.)
  2. Ändern Sie in der Datei ExportDhcp.vbs nach „dhcpserver =“ den Wert auf den Namen Ihres DHCP-Servers und nach „domainsuffix = “ den Wert auf den Namen Ihrer Domäne, z.B. „.domain.de“
  3. Starten Sie die Datei ExportDhcp.vbs. Wichtig ist, dass Sie über ausreichend Rechte verfügen, um einen Export der DHCP-Leases durchführen zu können. Im Zweifelsfall starten Sie eine Eingabeaufforderung (als Administrator ausführen), navigieren in das richtige Verzeichnis und setzen den Befehl „wscript ExportDhcp.vbs“ ab. Nach einigen Sekunden ist die Erstellung der Datei GlobalObjects.txt abgeschlossen.
  4. Die Datei GlobalObjects.txt eignet sich als AdminsRobot-Datenquelle. Speichern Sie sie in eine zentrale Freigabe. Der Kopierbefehl ist am Ende des Skriptes bereits vorhanden. Geben Sie in AdminsRobot unter Extras / Optionen / Allgemein / Globale Objekte den Pfad zu dieser Datei an.
  5. Starten Sie AdminsRobot neu. In der Objekt-Liste erscheinen nun die aus der DHCP-Datenbank generierten Objekte.

Download: ExportDhcp.vbs

Das Wichtigste fehlt allerdings noch: die Information, welcher Benutzer sich an welchem PC anmeldet. Es gibt verschiedene Möglichkeiten, diese Information zu erhalten.

GlobalObjects.txt mit Benutzerinformationen erzeugen

Im Folgenden ist beschrieben, wie man mit Bordmitteln die Zuordnung PC – Benutzer erhält. Dabei wird auch berücksichtigt, dass sich mehrere Benutzer an einem PC anmelden können.

Erstellen einer Textdatei bei jeder Anmeldung eines Benutzers

Über die Gruppenrichtlinien im Active Directory lässt sich konfigurieren, dass bei jeder Anmeldung ein Skript ausgeführt wird. Das nutzen wir, um bei jedem Anmeldevorgang eine Textdatei mit dem Dateinamen %COMPUTERNAME%_%USERNAME%.txt zu erzeugen (z.B. mueller_pc04711.txt), die in eine zentrale Freigabe geschrieben wird.

Schritt für Schritt:

  1. Erstellen Sie auf einem Fileserver eine Windows-Freigabe mit Namen pc$. Sowohl bei den Freigaberechten als auch bei den NTFS-Berechtigungen ist es wichtig, dass alle Domänenbenutzer (Domain Users) Ändern-Rechte (Modify) besitzen. Sie können den Domänenbenutzern die Leserechte auch noch entziehen – ist aber im ersten Schritt nicht wichtig.
  2. Erstellen Sie eine neue Gruppenrichtlinie oder erweitern Sie eine vorhandene. Navigieren Sie zu Benutzerkonfiguration –> Richtlinien –> Windows-Einstellungen –> Skripts (Anmelden/Abmelden) –> Anmelden. Klicken Sie auf „Dateien anzeigen“ und erstellen Sie eine Datei mit dem Namen „UserNames.cmd“ mit folgendem Inhalt:
    .
    @echo off
    echo Computername: %COMPUTERNAME% >\\MyFileServer\pc$\%COMPUTERNAME%_%USERNAME%.txt

    .
    Ersetzen Sie MyFileServer durch den Namen Ihres Fileservers.
  3. Klicken Sie auf „Hinzufügen“ und „Durchsuchen“ und wählen Sie die gerade erstellte Datei aus.
  4. Melden Sie sich mit einem Benutzer, für den die neu erstellte Gruppenrichtlinie Gültigkeit besitzt, an und vergewissern Sie sich, dass bei jeder Anmeldung in der Freigabe pc$ eine Textdatei erstellt wird.
  5. Speichern Sie die CreateGlobalObjects.vbs in einem Verzeichnis auf Ihrem DHCP-Server, z.B. in C:\Program Files (x86)\DhcpExport. (Kann auch ein anderer Server sein. Entscheidend ist der Benutzeraccount, unter dem das Skript ausgeführt wird.)
  6. Ändern Sie in der Datei CreateGlobalObjects.vbs nach „dhcpserver =“ den Wert auf den Namen Ihres DHCP-Servers, nach „share =“ den Wert auf den UNC-Pfad der in 1. erstellten Freigabe und nach „domainsuffix = “ den Wert auf den Namen Ihrer Domäne, z.B. „.domain.de“.
  7. Starten Sie die Datei CreateGlobalObjects.vbs. Wichtig ist, dass Sie über ausreichend Rechte verfügen, um einen Export der DHCP-Leases durchführen zu können. Im Zweifelsfall starten Sie eine Eingabeaufforderung (als Administrator ausführen), navigieren in das richtige Verzeichnis und setzen den Befehl „wscript CreateGlobalObjects.vbs“ ab. Nach einigen Sekunden oder wenigen Minuten ist die Erstellung der Datei GlobalObjects.txt abgeschlossen.
  8. Die Datei GlobalObjects.txt eignet sich als AdminsRobot-Datenquelle. Speichern Sie sie in eine zentrale Freigabe. Der Kopierbefehl ist am Ende des Skriptes bereits vorhanden. Geben Sie in AdminsRobot unter Extras / Optionen / Allgemein / Globale Objekte den Pfad zu dieser Datei an.
  9. Starten Sie AdminsRobot neu. In der Objekt-Liste erscheinen nun die aus der DHCP-Datenbank generierten Objekte mit Benutzerinformationen.

Die Datei GlobalObjects.txt enthält alle wichtigen Informationen in folgendem Format:

Hostname,Mac-Adresse1,Mac-Adresse2,Mac-Adresse3,Anmeldedatum,Benutzer,IP-Adresse,Typ

Das Anmeldedatum ist das Datum der Anmeldung des zuletzt angemeldeten Benutzers. Alle angemeldeten Benutzer stehen im Feld „Benutzer“ durch Leerzeichen getrennt. Der zuletzt angemeldete Benutzer steht an erster Position.

Download: CreateGlobalObjects.vbs