upDateNow ADLastLogonDate2Empirum
Autor: Frank Dethlefsen
Datum: 30.06.2017
Version: 1.7.6.30
Matrix42 und Empirum sind registrierte Markennamen der Matrix42 AG.
Problem
Der Lebenszyklus der PC-Hardware liegt in der Regel im Geschäftsbereich zwischen 3 bis 5 Jahre. Insofern werden fortlaufend neue Computer in und alte Computer außer Betrieb genommen. Diese Vorgehensweise führt in der Praxis schnell zu einer Unterlizensierung des Matrix42 Client Managements, da die Lizenz aus kaufmännischer Sicht häufig auf Maß gekauft wird und einen gewissen Überhang nicht berücksichtigt.
Der Empirum-Admin muss deshalb fortlaufend außer Betrieb genommene Computerobjekte aus der Empirum-Verwaltungsdatenbank löschen. Um außer Betrieb genommene Computerobjekte zu finden, bietet sich die Erstellung eines Filters an, der das letzte Inventarisierungsdatum der Computer abfragt. Als Filterkriterium wird ein Stichtag, der z.B. 3 Monate in der Vergangenheit liegt, hinterlegt. Die Computerausgabeliste ist dann die Basis für die augenscheinliche Prüfung, um außer Betrieb genommene Computerobjekte zu finden und ggf. zu löschen.
Computer, die eine Störung haben, z.B. ein Problem mit dem Empirum Inventory oder mit dem Empirum Agent, liefern ggf. keine neuen Inventardaten, obwohl sie aktiv sind. Das Inventarisierungsdatum veraltet in der Empirum-Verwaltungsdatenbank und das Computerobjekt wird mit in die Computerausgabeliste von außer Betrieb genommene Computern aufgenommen und könnte deshalb fälschlicherweise vom Empirum-Admin gelöscht werden.
Um sich abzusichern, prüfen die Empirum-Admins dann häufig das letzte Datum der Computeranmeldung „LastLogonDate“ eines Computers im Active Directory. Diese Abfrage ist relativ aufwendig und muss mit einem PowerShell-Skript oder anderen Werkzeugen manuell über sämtliche Domänenkontroller durchgeführt werden.
Lösung
Das upDateNow ADLastLogonDate2Empirum Werkzeug exportiert einmal täglich vollautomatisiert die Active Directory Information „lastLogonTimestamp“ des Computers in die Empirum-Verwaltungsdatenbank. Das letzte Computeranmeldedatum steht dann als Computervariable LastLogonDate in der Matrix42 Management Console zu Verfügung und kann in die Filterabfrage für außer Betrieb genommene Computer als weiteres Kriterium komfortabel miteinbezogen werden.
Voraussetzungen
- Der Haupt-EmpirumServer ist Mitglied im Active Directory
- Installiertes Windows Feature > Remoteserver-Verwaltungstools > Rollenverwaltungstools > AD DS- und AD LDS-Tools > Active Directory-Modul für Windows PowerShell und dessen Abhängigkeiten
- Das Matrix42 Empirum-SDK 1.1.10.0 oder höher, kann aus dem Matrix42 Marketplace kostenfrei bezogen werden, ist auf dem Haupt-EmpirumServer installiert
- Der Empirum-API Dienst muss installiert sein
Setup
Melden Sie sich auf dem Haupt-EmpirumServer per Remotedesktop administrativ an und führen die „upDateNow ADLastLogonDate2Empirum 2017.exe“ aus (*1 siehe Anmerkungen ganz unten). Das Werkzeug ADLastLogonDate2Empirum erfordert einen Lesezugriff in das Active Directory und einen Schreibzugriff in die Empirum Standortdatenbank. Sie müssen für beide Zugriffe einen gemeinsamen Active Directory Benutzer mit Passwort eingeben. Abschließend erscheint ein Bestätigungsdialog, ob die Installation durchgeführt werden soll. Wählen Sie „continue“ für fortsetzen aus. Das Setup hat nun folgendes eingerichtet:
Es wurde ein Verzeichnis \Empirum\upDateNow\ADLastLogonDate2Empirum erstellt, in dem sich folgende Dateien befinden
- ADLastLogonDate2Empirum.htm
Anleitung
- ADLastLogonDate2Empirum.cmd
Initialbatchdatei, die den Import durchführt
- ADLastLogonDate2Empirum.ps1
PowerShell-Skript, das AD abfragt und das LastLogonDate in Empirum importiert
- VariableDefinitions.xml
Importdatei, die die Variablendefinition für die Computervariable LastLogonDate in Empirum erstellt
Folgende Verknüpfungen wurden im Startmenü\Programme\upDateNow\ ADLastLogonDate2Empirum angelegt:
- ADLastLogonDate2Empirum – Tutorial
Diese Anleitung kann damit aufgerufen werden
- Edit ADLastLogonDate2Empirum.ps1
Die ADLastLogonDate2Empirum.ps1 kann mit der PowerShell ISE bearbeitet und getestet werden
- Open Task Scheduler
Öffnet den Windows Aufgabenplaner
- Uninstall
Deinstalliert das Werkzeug ADLastLogonDate2Empirum auf dem EmpirumServer
Es wurde ein Windows Aufgabenplan „ADLastLogonDate2Empirum“ für den täglichen Import eingerichtet. Standardstartzeit ist 02:00 Uhr morgens. Sie können die Startzeit manuell nach Ihren Vorstellungen ändern.
Import der Computer-Variablendefinition LastLogonDate
Starten Sie die Matrix42 Management Console in den Administrationsbereich. Wählen Sie oben das Menu „Extras“ aus der Menüleiste aus und wechseln in das Kontextmenu „Variablendefinitionen…“. Betätigen Sie in dem Dialog Variablendefinitionen unten mit dem Knopf „Importieren“. Wählen Sie als Importdatei \Empirum\upDateNow\ADLastLogonDate2Empirum\VariableDefinitions.xml aus. Der Import hat Ihnen eine Computervariable „LastLogonDate“ mit dem Kontrollelement Datum/Uhrzeit angelegt.
Konfiguration des Empirum-API Dienstes
Wir liefern das PowerShell-Skript ADLastLogonDate2Empirum.ps1 mit der Standardeinstellung aus:
$Port = „9100“
$Protocol = „TCP“
$IsSecured = 1
Falls Sie Ihren Empirum-API Dienst anders konfiguriert haben, können Sie das PowerShell-Skript oben entsprechend anpassen.
$Port = „<Ihre Portnummer>“
$Protocol = „TCP“ oder „HTTP“
$IsSecured = 0 oder 1
Test und in Betrieb nehmen
- Öffnen Sie Command-Box (Cmd.exe)
- Starten Sie in der Command-Box die Initialbatchdatei z.B. D:\Empirum\upDateNow\ADLastLogonDate2Empirum\ADLastLogonDate2Empirum.cmd
- Analysieren Sie die Ausgaben
- Wenn alles gelb war, prüfen Sie in der Matrix42 Client Management Console stichprobenartig einige Computer, ob diese eine gefüllte Computervariable LastLogonDate haben
Unterschied lastLogonDate und lastLogonTimestamp
Die Information lastLogonDate wird nur auf dem Domänenkontroller vorgehalten, der die Anmeldung legitimiert hat. Im Gegensatz dazu wird die Information lastLogonTimestamp auf sämtliche Domänenkontroller repliziert, allerdings kann das bis zu 14 Tagen dauern. Das Werkzeug ADLastLogonDate2Empirum verwendet deshalb lastLogonTimestamp als Informationsquelle. Sie sollten kein Datum als Filterabfragekriterium verwenden, das weniger als 14 Tagen in der Vergangenheit liegt.
Change-Log
Erstrelease Version 1.7.6.30 / 30.06.2017
*1: Uns ist bewusst, dass die Ausführung der „upDateNow ADLastLogonDate2Empirum 2017.exe“ auf einem Server aus Sicherheitsgründen nicht üblich ist. Wir haben uns dennoch dafür entschieden, weil es die Installation und Konfiguration sehr vereinfacht. Um sich davon zu überzeugen, was das Setup macht, können Sie die „upDateNow ADLastLogonDate2Empirum 2017.exe“ mit 7-Zip entpacken und das Installationsskript unter Install\Setup.inf analysieren.
Sollten Sie Fragen, Probleme oder Anregungen haben, stehe ich Ihnen gerne per Email zu Verfügung: Frank.Dethlefsen@upDateNow.de
Matrix42 und Empirum sind registrierte Markennamen der Matrix42 AG.