LOGINventory nützt ein ausgeklügeltes System, um Duplikate in der Datenbank zu vermeiden. Doch was können Sie tun, wenn es tatsächlich Duplikate gibt (z.B. zwei identische Geräte mit gleichem Namen) und Sie möchten, dass diese von LOGINventory auch als zwei getrennte Systeme (mit unterschiedlichem Namen) behandelt werden? In diesem Artikel erklären wir die technischen Hintergründe und zeigen Lösungen, die Sie ganz einfach selbst umsetzen können.

Eindeutige Identifizierung von Assets

Zu den sicherlich wichtigsten Aufgaben einer Inventarverwaltung gehört es, Geräte eindeutig identifizieren zu können, damit Änderungen als solche erkannt und keine Duplikate angelegt werden. LOGINventory setzt dazu die sogenannte Fingerprint-Methode ein.

Info

Eine ausführliche Beschreibung der Fingerprint-Methode finden Sie im Handbuch.

Bei Geräten, bei denen eine Vielzahl von Informationen zur Verfügung stehz (z.B. vollständig erfasste Windows Clients), gibt es viele Werte, die sich selten (oder nie) an den Geräten ändern. Dazu zählen z.B. der Name des Geräts, die MAC-Adresse oder die Seriennummer.

Die Fingerprint-Methode gewichtet dabei unterschiedliche Übereinstimmungskriterien, um ein Gerät möglichst sicher eindeutig erkennen zu können. Dieses Verfahren muss jedoch auch funktionieren, wenn Geräte nur wenige Informationen zur Verfügung stellen, da sie sich z.B. aufgrund mangelnder Berechtigungen nur teilweise erfassen lassen oder die Hardware-Hersteller die jeweiligen Remote-APIs zum Auslesen unsauber implementiert haben. Ebenso muss für die Verwendung des Daten-Imports auch sichergestellt werden, dass sich aus Quell-Dateien, in welchen sich z.B. nur der Geräte-Name und eine eigene Eigenschaft befinden, Daten eingelesen und korrekt zugeordnet werden können. Deswegen ist in der Fingerprint-Methode eines der letzten Kriterien, um ein Gerät eindeutig erkennen zu können, die Übereinstimmung des Device.Name.

Tipp

Damit Geräte immer korrekt identifiziert werden können, sollte der Geräte-Name eindeutig sein. LOGINventory liest den Geräte-Namen aus dem Gerät selbst aus, kann jedoch als Fallback (falls kein Name gesetzt wurde) auch den ReverseDNS-Namen setzen oder verwendet sonst als Namen die IP-Adresse des Geräts.

Anpassung der Erfassung

Es kann jedoch Fälle geben, in denen mehrere unterschiedliche Geräte den gleichen Namen tragen, z.B.:

  • In Ihrem Unternehmen kommen mehrere gleiche Modelle des gleichen Druckers zum Einsatz. Bisher wurde für diese Geräte in der Weboberfläche der Name der Drucker aufgrund fehlender Notwendigkeit noch nie angepasst.
  • Sie betreuen die IT mehrerer Kunden und verwalten deren Geräte in einer LOGINventory-Datenbank. Um sich schnell zurecht zu finden, wurden bei den Mandanten die Geräte, die die gleiche Aufgabe haben, gleich benannt, z.B. “DC01” für den Haupt-Domaincontroller.

In allen diesen Fällen würden sich die gleich benannten Geräte regelmäßig in LOGINventory wegen des gleichen ermittelten Namens überschreiben. Zu erkennen ist das in der Änderungshistorie: Hier würde sich z.B. die IP-Adresse der letzten Erfassung regelmäßig ändern oder sonstige Eigenschaften wechseln regelmäßig ihre Werte im Kreis (z.B. ändern die Drucker den Wert von “Location” von “Raum 001” zu “Raum 002” zu “Raum 003” und wieder zurück).

Um diese Probleme zu lösen, können Sie Anpassungen in der Datei LOGINfo.script vornehmen. Diese Datei wird bei allen drei Erfassungsmethoden (Remote Scan, Ausführen der LOGINfo.exe, Einsatz des Offline-Agenten) beachtet, daher gelten die Anpassungen auch für alle Methoden.

Lösung 1: Modifikation des Geräte-Namens bei der Erfassung

Durch Anpassung der LOGINfo.script kann bei der Erfassung ein anderer Geräte-Name ermittelt werden. So ist es z.B. möglich, abhängig von der IP-Adresse bei der Erfassung ein Namens-Suffix anzuhängen oder den Wert des Feldes Location an den Geräte-Namen anzuhängen:

!IF {like:%$Lastinventory.Ip%,192.168.10.*}
Name=%$Name%-MUC # Anfügen von "-MUC" an den Namen
!ENDIF

!IF {like:%$Lastinventory.Ip%,192.168.20.*}
Name=%$Name%-BER # Anfügen von "-BER" an den Namen
!ENDIF

oder

!IF {like:%$Operatingsystem.Name%,Zebra Technologies ZD410*}
Name=%$Name%-%$DeviceInfo.Location% # Anfügen des Wertes von "Location"
!ENDIF

Lösung 2: Setzen des Wertes CustomId

Durch Anpassung der LOGINfo.script kann das Feld CustomId abhängig von selbst zu definierenden Bedingungen gesetzt werden. Damit kann der Name der Geräte so bleiben wie er ist, und es kann mehrere Geräte mit gleichem Namen aber unterschiedlicher CustomId geben. Falls die CustomId gesetzt wurde, gilt diese als einziges Finterprint-Kriterium. Daher muss diese für jedes Gerät eindeutig sein. Beispielsweise:

!IF {like:%$Lastinventory.Ip%,192.168.10.*}
CustomID=%$DeviceInfo.SerialNumber% #bei jeweils unterschiedlicher Seriennummer
!ENDIF

oder

!IF {like:%$Operatingsystem.Name%,Zebra Technologies ZD410*}
CustomID=%$Lastinventory.Mac% #MAC als eindeutiges Kriterium
!ENDIF

Bei Windows-Geräten lässt sich auch der Registry Key HKLM\Software\LOGIN\LOGINfo\CustomID setzen. Dann muss nicht die LOGINfo.script-Datei angepasst werden, sondern der Wert für die CustomId wird direkt aus der Registry ermittelt.

Fazit

Durch die einfache, skriptbasierte Modifikation der Erfassung haben Sie viele Möglichkeiten, LOGINventory für Ihre konkreten Einsatzzwecke anzupassen. Durch  Änderungen der LOGINfo.script lassen sich übrigens auch zusätzliche Werte (z.B. abhängig von Registry-Keys) auslesen, das Auslesen von bestimmten Werten unterdrücken, sowie diverse weitere Anpassungen machen.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.