csvde-Methode
von Nils Kaczenski
Im AD wird eine Angabe über das Service Pack in den Computereigenschaften gespeichert. Um eine Abfrage zu erstellen, die alle Computer zurückgibt, welche ein bestimmtes Service Pack installiert haben, kann man sich Kombination von csvde.exe und Excel bedienen. Das ist ein recht effizienter Weg, der langes Hantieren mit LDAP-Querystrings unnötig macht.
Das folgende Kommando im CMD-Fenster gibt alle Rechner in eine txt-Datei aus, die du dann mit Excel auswerten kannst.
csvde -m -n -u -f "d:\temp\pdomain.txt" -r "(|(&(objectClass=user)(objectCategory=computer)))" -l name,adsPath,operatingsystem,operatingsystemversion,operatingsystemservicepack
GUI-Methode
von Walter Steinsdorfer
Ab Windows 2003 können LDAP-Abfragen mithilfe des Verwaltungsprogramms „Active – Directory Users und Computers“ generiert werden. Die Abfragen lassen sich als XML-Datei exportieren und an Kollegen weiterreichen. Über LDAP lassen sich alle Eigenschaften der Objekte im Active Directory abfragen. Will man z.B. alle Windows-2000-Rechner mit Service Pack 3 finden, um Service Pack 4 einzuspielen, erstellt man in der Konsole unter „Gespeicherte Abfragen“ eine neue Suchabfrage. Dieser gibt man einen Namen und legt den Ordner fest, in welchem die Suche beginnen soll. Die hier eingegebenen Suchabfragen sind rekursiv, d.h. dass auch alle Unterordner durchsucht werden.
Unter dem Button „Abfrage definieren“ öffnet sich nun die Suchmaske. Für Windows-2000-Rechner mit SP 3 wählt man „Benutzerdefinierte Suche“ aus und gibt folgenden LDAP-String ein (alles zusammen bildet eine Zeile):
(&(objectCategory=computer)(operatingSystem=Windows 2000*) (operatingSystemVersion=5.0*)(operatingSystemServicePack=Service Pack 3))
Mit zweimal OK und der F5-Taste erhält man alle Rechner mit dem angegebenen Service-Pack. Mit Ansicht -> Liste exportieren kann die aktuelle Ansicht der Objekte in ein Textfile ausgegeben werden.
Zwei weitere Methoden
von Yusuf Dikmenoglu
Die Version des Betriebssystems sowie der Service-Pack-Stand lassen sich nicht nur direkt auf einem Rechner per WMI abfragen, sondern auch aus dem AD auslesen. Der Vorteil dabei: Der abzufragende Rechner muss nicht online sein. Sofern er sich einmal erfolgreich an AD angemeldet hat, stehen die Daten zum Betriebssystem im Verzeichnis.
REPADMIN
Mit folgender Abfrage in einer Kommandozeile, kann man das Betriebssystem- sowie die Service Pack Version der Domänencontroller in der Domäne abfragen (dazu müssen die Windows Server 2003 Support Tools installiert sein):
Repadmin /showattr <DNS-Domänenname oder DC> ncobj:domain: "/filter: (&(objectcategory=computer)(primaryGroupID=516))" /subtree /atts:operatingSystem,operatingSystemVersion,operatingSystemServicePack
DSQUERY
Das Ganze kann man natürlich auch über dsquery abfragen. Die Abfrage hierzu könnte z.B. so lauten:
dsquery * domainroot -filter (objectCategory=Computer) -attr distinguishedName location operatingSystem operatingSystemVersion operatingSystemServicePack -limit 0 > C:dsquery.log
http://faq-o-matic.net/?p=573