da-brain
Goto Top

ServicePack-Stand von Windows 2000 per Batch-Datei erkennen

Hallo,

wie bekomme ich heraus ob auf einem Windows 2000 Professional PC ein älteres Servicepack installiert ist.

Ich möchte eine Batch-Datei ausführen die eine Software automatisch installiert. Leider funzt die Installation per MSI erst ab SP3. Ich habe aber teilweise noch PC´s mit SP2. Jetzt würde ich gern vorher SP4 drüberjagen und dann meine Software installieren.

Hat jemand eine Idee?

Gruß da_brain

Content-Key: 31607

Url: https://administrator.de/contentid/31607

Ausgedruckt am: 29.03.2024 um 05:03 Uhr

Mitglied: leknilk0815
leknilk0815 03.05.2006 um 15:05:18 Uhr
Goto Top
Hi,
ich bin mir nicht ganz sicher, aber unter HKLM\Software\Microsoft\WindowsNT\CurrentVersion\BuildLab
steht was über SP drin.
Vielleicht hilfts..., abfragen könnte man mit einem kleinenKIX- Script (oder so)

Gruß - Toni
Mitglied: Biber
Biber 03.05.2006 um 18:55:12 Uhr
Goto Top
Hm, da_brain,

es gibt viele Möglichkeiten, die ServicePack-Version herauszufinden - die Frage ist nur, ob die Win2000-Rechner die Utilities und die Rechte haben.

Wie installierst Du denn diese Software? Übers LogIn der Clients?
Oder hängen die nicht im Netz und Du installierst über CD?
Starten die die Installation oder läuft eh die ganze Installation mit Adminrechten?

Am einfachsten im Batch wäre entweder ein Oneliner, der die Search.vbs aus dem ResKit aufruft (wenn es bei Dir eine LDAP-Grundlage gibt) und Dir die betroffenen Rechner raussucht:
For /f "tokens=2" %%i in ('CScript //nologo \\server\pfad\search.vbs "LDAP://dc=deine,dc=firma,dc=com" /Q /C:"&(ObjectCategory=computer)(operatingsystem=Windows 2000 Professional)(operatingsystemservicepack=service pack 2)"^| find " objects."') do Echo %%j  
[wenn Du denn den ermittelten Rechnern eine Sonderbehandlung geben willst]

-oder-
Nutze die PsInfo.exe von www.sysinternals.com
for /f "tokens=3" %%i in ('psinfo -s 2^>nul^|find /i "Service Pack"') do Set /a SP=%%i  
::in der Variablen %SP% landet dann also "2" bei SP2; "3" bei SP3 etc  

-oder-
wenn die Clients die Rechte haben, geh über leknilk0815's Vorschlag mit HKLM
reg query HKLM\....\CurrentVersion
CSDVersion REG_SZ Service Pack 2 ---> so heißt es bei XP

Kann sein, das es bei Win2000 noch "...\CurrentVersion\BuildLab" hieß. Läßt sich vorher prüfen.

Grüße
Biber