VBS: NAWInventory

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der Übernahme.

Der Name dieses Skripts sagt schon genau, was es tut. Es ist zum einen ein Skript von mir für Net at Work, und damit hier nicht als Download verfügbar, und es erstellt eine Inventur der Server. Das Skript stelle ich hier trotzdem vor, da es zeit, was mit VBScript so alles machbar ist und weil es natürlich auch etwas Eigenwerbung für mich und natürlich auch Net at Work ist.

Funktion

Das Script wird mit einem möglichst privilegierten Benutzer (z.B. Mitglied von Domänen Administratoren und zumindest Administrator auf den zu inventarisierenden Systemen) auf einer Workstation gestartet. Es list aus dem Active Directory die Computerkonten aus und versucht die Systeme erst mal anzupingen. Zudem werden Daten des Active Directory ausgelesen

Wenn Sie funktioniert, (d.h. System ist eingeschaltet, Namensauflösung ist OK), dann wird per WMI auf das System zugegriffen und umfangreiche Informationen ausgelesen. So werden Schlüssel in der Registrierung aber auch Dienste und Eventlog ausgelesen. Am Ende steht eine XML-Datei mit dem Ergebnis der Daten, die z.B. im Internet Explorer oder Excel geöffnet werden kann. Die ermittelten Werte in Auszügen:

  • Computerinformationen
    So wird der Computername und die Version und Sprache des Betriebssystems aber auch das Installationsdatum und die Beschreibung eingelesen. Auch das Datum des letzten Neustarts wird ermittelt.
  • Systemdaten
    Es erfolgt eine Aufnahme der Prozessorden und des installierten Hauptspeichers. Zudem wird der Hersteller des BIOS, die Version und der Typ des Systems ausgelesen. Auch die ProzessorID wird mit ausgelesen und erlaubt einen Rückschluss auf die E2K7:64-bit-Tauglichkeit.
  • Disk und Shares
    Ermittelt die Freigaben und die Größe der Festplatten und deren freie Kapazität.
  • Informationen über die Größe und freie Kapazität der installierten Festplatten.
    Natürlich auch die Information über Freigaben des Servers sind hier aufgezeichnet.
  • IP, Domain, Domainrole
    Neben der IP-Adresse werden auch die Domänenzugehörigkeit und die Rolle (Memberserver, DC, Standalone) ermittelt
  • Dienste
    Besondere Funktion ist die Analyse auf installierte und gestartete Dienste. So werden folgende Dienste als eigene Spalten ermittelt und angezeigt. Damit erhalte ich natürlich ganz schnell in einer Tabelle den Überblick
    WINS, DNS, DHCP, IIS, SubVersion, Antivirus ,SNMP, SPSSearch, MOM-Agent und Server, MSSQL, CertService, RIS
  • Exchange Daten
    Wie sollte es anders sein werden natürlich Exchange relevante Daten ebenfalls ermittelt
    ExchangeIS, Exchange, Blackberry, FACSys Connector, IMAP4, POP3, ScanMail
  • Patchmanagement
    Es wird nicht nur die Existenz eines WSUSServer oder WindowsUpdateAgent geprüft sondern über die Einträge im Eventlog auch ein eventuell erforderliche Neustart oder fehlende Patches ermittelt. Allerdings kann das Script kein Patchmanagement übernehmen
  • VirtualServer
  • Active Directory Daten
    Durch Informationen aus dem Active Directory werden den Server auch die aktiven Rollen zugeordnet
    DomainNamingMaster, Schemamaster, PDC, RID, Infrastrukturmaster

So erhalte ich bei einem unbekannten Kunden sehr schnell einen Überblick, welche Server es gibt, welche Rollen diese haben und welche Produkte installiert sind.

Ausgabe

Eine XML-Datei ist natürlich sehr flexibel in der Ausgabe. Exemplarisch zeige ich hier mal einen Auszug in Excel.

Über die Excel Autofilter-Funktion ist es somit sehr einfach, z.B.: bestimmte Systeme ausfindig zu machen, z.B.: alle WINS- und DNS-Server oder alle Systeme, auf denen ein IIS installiert ist (viele davon sicher ohne Funktion und daher ein Sicherheitsrisiko. Aber auch Auswertungen zu Systemen, die altersschwach sind oder kleine Festplatten haben, sind mit solch einer Datenquelle sehr schnell erledigt.

NAWInventory soll und kann kein Ersatz für eine ordentliche Inventarisierungssoftware sein, aber sehr oft gibt es dies nicht oder die Server sind nicht eingebunden oder wir als Dienstleister verschaffen uns so mit dem Einverständnis des Kunden einen Überblick.

Download

Dieses Skript ist kein öffentlicher Download
Diese Skript ist aktuell nicht als Download verfügbar, sondern wird von den Kollegen von NetatWork gepflegt und bei Neukunden und Kunden ohne Servermanagement eingesetzt.
Informationen, warum diese Skripte nicht öffentlich sind, finden Sie auf nicht public.

Erweiterungen

Auch wenn das Script bereits sehr viele Informationen sammelt, so könnten zukünftig Erweiterungen möglich sein z.B.:

  • Eine grafische Aufbereitung als Netzwerkplan
  • Ermitteln der AD-Replikation
    Es ist sehr einfach die aktuellen Connectoren für Siteslinks auszulesen. Die grafische Aufbereitung könnte dann mit Visio erfolgen. Ein solches Programm für Exchange gibt es schon in Form von ExMap.
  • Ermitteln der Netzwerkstruktur
    Zuerst müsste das Script alle IP-Netze ermitteln. Dazu kann es die AD Sites & Services und lokale Leitwege heranziehen, aber auch aktuelle Verbindungen zu den DCs per WMI abfragen und natürlich eine Liste durch den Kunden auswerten. Dann könnte das Skript per WMI von jedem Server in einem Subnetz die  anderen Subnetze "anpingen" lassen und die Laufzeit und Hops ermitteln. So könnte man einen Netzwerkplan erstellen, der dann auch für die AD Sitelinks und Exchange Connectoren genutzt werden könnte.

Weitere Links