Logo faq-o-matic.net
Logo faq-o-matic.net

Systeme mit Windows Server 2003 R2 identifizieren

von veröffentlicht am11. Januar 2007, 16:08 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Scripting, VBScript, Windows Server 2003   Translate with Google Translate Translate EN   Die angezeigte Seite drucken

Es ist nicht ganz leicht, im Rahmen einer Dokumentation im Netzwerk die Server zu identifizieren, die mit Windows Server 2003 R2 betrieben werden. Es liegt zwar nahe, die Einträge des Active Directory zu prüfen, aber dort wird kein Unterschied sichtbar zwischen einem Server mit SP1 und einem mit R2 (was ja technisch auch dieselbe Grundlage ist).

Wie so oft, bietet auch hier WMI die Lösung: Dessen Klasse "Win32_OperatingSystem" bietet im Attribut "OtherTypeDescription" die gesuchte Information.

Hier ein Skript-Fragment (erzeugt mit Scriptomatic 2.0), das die benötigte Abfrage ausführt. Um die Daten für das ganze Netzwerk oder einen Teil davon zu sammeln, lassen sich mehrere Techniken anwenden, die ich in einem Artikel für heise Netze (kostenlos verfügbar) zusammengefasst habe.

(Dank an Thomas M. Hess für den Hinweis in der Newsgroup.)

  1. On Error Resume Next
  2.  
  3. Const wbemFlagReturnImmediately = &h10
  4. Const wbemFlagForwardOnly = &h20
  5.  
  6. arrComputers = Array("DC1")
  7. For Each strComputer In arrComputers
  8.    WScript.Echo
  9.    WScript.Echo "=========================================="
  10.    WScript.Echo "Computer: " & strComputer
  11.    WScript.Echo "=========================================="
  12.  
  13.    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "rootCIMV2")
  14.    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", _
  15.                                           wbemFlagReturnImmediately + wbemFlagForwardOnly)
  16.  
  17.    For Each objItem In colItems
  18.       WScript.Echo "Caption: " & objItem.Caption
  19.       WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
  20.       WScript.Echo "LastBootUpTime: " & WMIDateStringToDate(objItem.LastBootUpTime)
  21.       WScript.Echo "Name: " & objItem.Name
  22.       WScript.Echo "OSLanguage: " & objItem.OSLanguage
  23.       WScript.Echo "OSProductSuite: " & objItem.OSProductSuite
  24.       WScript.Echo "OSType: " & objItem.OSType
  25.       WScript.Echo "OtherTypeDescription: " & objItem.OtherTypeDescription
  26.       WScript.Echo "Version: " & objItem.Version
  27.       WScript.Echo
  28.    Next
  29. Next
  30.  
  31.  
  32. Function WMIDateStringToDate(dtmDate)
  33. WScript.Echo dtm:
  34.     WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
  35.     Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
  36.     & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
  37. End Function

© 2005-2023 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!