VBS Plattform erkennen 32 oder 64 Bit
Hi,
ich suche eine Möglichkeit via VBScript herauszufinden, ob ein Betriebssystem 32 oder 64 Bit hat.
Leider fehlt mir gerade die zündende Idee und beim Googeln hab ich auch nichts brauchbares gefunden
Hat mir jemand den passenden Denkanstoß?
Danke im Vorraus.
Gruß
Kim
ich suche eine Möglichkeit via VBScript herauszufinden, ob ein Betriebssystem 32 oder 64 Bit hat.
Leider fehlt mir gerade die zündende Idee und beim Googeln hab ich auch nichts brauchbares gefunden
Hat mir jemand den passenden Denkanstoß?
Danke im Vorraus.
Gruß
Kim
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116106
Url: https://administrator.de/contentid/116106
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo Kim,
eine lästige Begleiterscheinung ist das Vorhandensein (und die Notwendigkeit) zusätzlicher Environment Variablen "ProgramX"
Siehe :
Gruß
LotPings
Edit: Ergänze hier ein WMI-Script erzeugt mit Scriptomatic
Dabei liefert hier auf einem Windows 7 RC 64bit
eine lästige Begleiterscheinung ist das Vorhandensein (und die Notwendigkeit) zusätzlicher Environment Variablen "ProgramX"
Siehe :
C:\>set Prog
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
Gruß
LotPings
Edit: Ergänze hier ein WMI-Script erzeugt mit Scriptomatic
' This script was created by: Scriptomatic V2 and LotPings
' <http://www.microsoft.com/technet/scriptcenter/tools/scripto2.mspx>
'
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
arrComputers = Array(".")
For Each strComputer In arrComputers
WScript.Echo "=============================================================="
WScript.Echo "Computer. . . . . . . . . . . : " & strComputer
WScript.Echo "=============================================================="
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", _
"WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
WScript.Echo "BootDevice. . . . . . . . . . : " & objItem.BootDevice
WScript.Echo "BuildNumber . . . . . . . . . : " & objItem.BuildNumber
WScript.Echo "BuildType . . . . . . . . . . : " & objItem.BuildType
WScript.Echo "Caption . . . . . . . . . . . : " & objItem.Caption
WScript.Echo "CodeSet . . . . . . . . . . . : " & objItem.CodeSet
WScript.Echo "CountryCode . . . . . . . . . : " & objItem.CountryCode
WScript.Echo "CreationClassName . . . . . . : " & objItem.CreationClassName
WScript.Echo "CSCreationClassName . . . . . : " & objItem.CSCreationClassName
WScript.Echo "CSDVersion. . . . . . . . . . : " & objItem.CSDVersion
WScript.Echo "CSName. . . . . . . . . . . . : " & objItem.CSName
WScript.Echo "CurrentTimeZone . . . . . . . : " & objItem.CurrentTimeZone
WScript.Echo "DataExecutionPrevention_32BitApplications: " & objItem.DataExecutionPrevention_32BitApplications
WScript.Echo "DataExecutionPrevention_Available: " & objItem.DataExecutionPrevention_Available
WScript.Echo "DataExecutionPrevention_Drivers: " & objItem.DataExecutionPrevention_Drivers
WScript.Echo "DataExecutionPrevention_SupportPolicy: " & objItem.DataExecutionPrevention_SupportPolicy
WScript.Echo "Debug . . . . . . . . . . . . : " & objItem.Debug
WScript.Echo "Description . . . . . . . . . : " & objItem.Description
WScript.Echo "Distributed . . . . . . . . . : " & objItem.Distributed
WScript.Echo "EncryptionLevel . . . . . . . : " & objItem.EncryptionLevel
WScript.Echo "ForegroundApplicationBoost. . : " & objItem.ForegroundApplicationBoost
WScript.Echo "FreePhysicalMemory. . . . . . : " & objItem.FreePhysicalMemory
WScript.Echo "FreeSpaceInPagingFiles. . . . : " & objItem.FreeSpaceInPagingFiles
WScript.Echo "FreeVirtualMemory . . . . . . : " & objItem.FreeVirtualMemory
WScript.Echo "InstallDate . . . . . . . . . : " & WMIDateStringToDate(objItem.InstallDate)
WScript.Echo "LargeSystemCache. . . . . . . : " & objItem.LargeSystemCache
WScript.Echo "LastBootUpTime. . . . . . . . : " & WMIDateStringToDate(objItem.LastBootUpTime)
WScript.Echo "LocalDateTime . . . . . . . . : " & WMIDateStringToDate(objItem.LocalDateTime)
WScript.Echo "Locale. . . . . . . . . . . . : " & objItem.Locale
WScript.Echo "Manufacturer. . . . . . . . . : " & objItem.Manufacturer
WScript.Echo "MaxNumberOfProcesses. . . . . : " & objItem.MaxNumberOfProcesses
WScript.Echo "MaxProcessMemorySize. . . . . : " & objItem.MaxProcessMemorySize
strMUILanguages = Join(objItem.MUILanguages, ",")
WScript.Echo "MUILanguages. . . . . . . . . : " & strMUILanguages
WScript.Echo "Name. . . . . . . . . . . . . : " & objItem.Name
WScript.Echo "NumberOfLicensedUsers . . . . : " & objItem.NumberOfLicensedUsers
WScript.Echo "NumberOfProcesses . . . . . . : " & objItem.NumberOfProcesses
WScript.Echo "NumberOfUsers . . . . . . . . : " & objItem.NumberOfUsers
WScript.Echo "OperatingSystemSKU. . . . . . : " & objItem.OperatingSystemSKU
WScript.Echo "Organization. . . . . . . . . : " & objItem.Organization
WScript.Echo "OSArchitecture. . . . . . . . : " & objItem.OSArchitecture
WScript.Echo "OSLanguage. . . . . . . . . . : " & objItem.OSLanguage
WScript.Echo "OSProductSuite. . . . . . . . : " & objItem.OSProductSuite
WScript.Echo "OSType. . . . . . . . . . . . : " & objItem.OSType
WScript.Echo "OtherTypeDescription. . . . . : " & objItem.OtherTypeDescription
WScript.Echo "PAEEnabled. . . . . . . . . . : " & objItem.PAEEnabled
WScript.Echo "PlusProductID . . . . . . . . : " & objItem.PlusProductID
WScript.Echo "PlusVersionNumber . . . . . . : " & objItem.PlusVersionNumber
WScript.Echo "Primary . . . . . . . . . . . : " & objItem.Primary
WScript.Echo "ProductType . . . . . . . . . : " & objItem.ProductType
WScript.Echo "RegisteredUser. . . . . . . . : " & objItem.RegisteredUser
WScript.Echo "SerialNumber. . . . . . . . . : " & objItem.SerialNumber
WScript.Echo "ServicePackMajorVersion . . . : " & objItem.ServicePackMajorVersion
WScript.Echo "ServicePackMinorVersion . . . : " & objItem.ServicePackMinorVersion
WScript.Echo "SizeStoredInPagingFiles . . . : " & objItem.SizeStoredInPagingFiles
WScript.Echo "Status. . . . . . . . . . . . : " & objItem.Status
WScript.Echo "SuiteMask . . . . . . . . . . : " & objItem.SuiteMask
WScript.Echo "SystemDevice. . . . . . . . . : " & objItem.SystemDevice
WScript.Echo "SystemDirectory . . . . . . . : " & objItem.SystemDirectory
WScript.Echo "SystemDrive . . . . . . . . . : " & objItem.SystemDrive
WScript.Echo "TotalSwapSpaceSize. . . . . . : " & objItem.TotalSwapSpaceSize
WScript.Echo "TotalVirtualMemorySize. . . . : " & objItem.TotalVirtualMemorySize
WScript.Echo "TotalVisibleMemorySize. . . . : " & objItem.TotalVisibleMemorySize
WScript.Echo "Version . . . . . . . . . . . : " & objItem.Version
WScript.Echo "WindowsDirectory. . . . . . . : " & objItem.WindowsDirectory
WScript.Echo "--------------------------------------------------------------"
Next
Next
Function WMIDateStringToDate(dtmDate)
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
Dabei liefert hier auf einem Windows 7 RC 64bit
OSArchitecture. . . . . . . . : 64-Bit
Hallo LotPings,
Wow, gute Arbeit. Danke
Gruß Dieter
Wow, gute Arbeit. Danke
Gruß Dieter
Zitat von @76109:
Hallo LotPings,
Wow, gute Arbeit. Danke
Hallo LotPings,
Wow, gute Arbeit. Danke
Die meiste Arbeit leistet ja die Scriptomatic
Wobei ich gerade nochmal nachgesehen habe, die Scriptomatic ist ja auch nur ein .hta Datei und meine habe ich getuned,
mit FixedWidth Schriftart und IMO übersichtlicherer Darstellung der Ausgabe und zusätzlichem Copy Button um das generierte Script direkt in die Zwischenablage zu befördern.
Bei Interesse kann ich mein Änderungen veröffentlichen aber wegen MS Copytight weiß ich nicht, ob ich das einfach hochladen kann oder ein Diff machen muß ( weiss auch noch nicht wie das geht)
Gruß
LotPings
Noch ein Hinweis zum WMI Script.
Die Ausgabe auf dem eigenen Rechner kann sich je nach OS und Version
sowohl in der Anzahl der Eigenschaften als auch in den Werten unterscheiden.
(wobei das Gott sei Dank selten der Fall ist.)
Gruß
LotPings
Die Ausgabe auf dem eigenen Rechner kann sich je nach OS und Version
sowohl in der Anzahl der Eigenschaften als auch in den Werten unterscheiden.
(wobei das Gott sei Dank selten der Fall ist.)
Gruß
LotPings
Hallo LotPings,
ich würde das Script in keinem Fall hochzuladen. Für den Download von Scriptomat wird GenuiCheck verlangt...
Dumme Frage? Was meinst Du mit 'Diff'?
Gruß Dieter
PS. HTA kam mir auch in den Sinn
Zitat von @77559:
wegen MS Copytight weiß ich nicht, ob ich das einfach hochladen
kann oder ein Diff machen muß ( weiss auch noch nicht wie das
wegen MS Copytight weiß ich nicht, ob ich das einfach hochladen
kann oder ein Diff machen muß ( weiss auch noch nicht wie das
ich würde das Script in keinem Fall hochzuladen. Für den Download von Scriptomat wird GenuiCheck verlangt...
Dumme Frage? Was meinst Du mit 'Diff'?
Gruß Dieter
PS. HTA kam mir auch in den Sinn
Hallo LotPings
Gruß Dieter
PS. Achso Text-Diff
Zitat von @77559:
Noch ein Hinweis zum WMI Script.
sowohl in der Anzahl der Eigenschaften als auch in den Werten unterscheiden.
bedeutet das, dass in diesem Fall mit Fehlermeldungen zu rechnen ist?Noch ein Hinweis zum WMI Script.
sowohl in der Anzahl der Eigenschaften als auch in den Werten unterscheiden.
Gruß Dieter
PS. Achso Text-Diff
Zitat von @76109:
Dumme Frage? Was meinst Du mit 'Diff'?
Dumme Frage? Was meinst Du mit 'Diff'?
http://de.wikipedia.org/wiki/Diff
Gruß
LotPings
Zitat von @76109:
bedeutet das, dass in diesem Fall mit Fehlermeldungen zu rechnen ist?
bedeutet das, dass in diesem Fall mit Fehlermeldungen zu rechnen ist?
Ja, aber eben nur wenn die jeweilge WMI Version das nicht unterstützt.
Das Script läuft zwar wegen
On Error Resume Next
durch, aber der Wert fehlt dann eben - und wenn du genau den haben wolltest ....
Neulich hatte ich doch einen Unterschied bei der WMI Abfrage Win32_DiskDrive
Das Property MediaType liefert bis XP als Wert
Fixed[Tab]Hard Disk Media
Ab Vista ist dieser "Schreibfehler" geändert und es kommt
Fixed Hard Disk Media
also mit Leerzeichen.Wenn man im Script auf diese Inhalte abfragt hat man ein Problem.
Es zeigt halt das auch WMI nicht statisch ist, sondern Änderungen unterliegt.
Gruß
LotPings
Hallo LotPings,
und wenn Fehler wie z.B. [Tab] auftreten können, kann man ja Replace mit einbauen...
So, Gruß und Gute Nacht
Dieter
Zitat von @77559:
On Error Resume Next
der Wert fehlt dann eben - und wenn du genau den haben wolltest
ja, wenn ein Wert fehlt (Pech gehabt), dann gibt man eben alternativ den Wert "N/V" aus. Ist besser als LeerOn Error Resume Next
der Wert fehlt dann eben - und wenn du genau den haben wolltest
Fixed[Tab]Hard Disk Media
Fixed Hard Disk Media
und wenn Fehler wie z.B. [Tab] auftreten können, kann man ja Replace mit einbauen...
So, Gruß und Gute Nacht
Dieter