technox
Goto Top

Office Versionen suchen und als XLS oder TXT zurückmelden

Möchte die aktuell installierten Office Versionen in unserer Domäne mit unserer Doku abgleichen. Dazu brauche ich einen aktuellen Überblick auf welchem PC welche Office Version installiert ist.

Gibt es kostenlose Tools die mir das anzeigen?
Oder lässt sich das mit ner Batch erstellen wenn ja wie?
Oder gibt der Exchange Server selbst die funktionalität?

Am besten sollte es schlicht so ab gebildet sein.

PC NAME = XP
usw..

..das sollte eigentlich recht simpel machbar sein..

Content-ID: 148922

Url: https://administrator.de/forum/office-versionen-suchen-und-als-xls-oder-txt-zurueckmelden-148922.html

Ausgedruckt am: 02.04.2025 um 09:04 Uhr

Karo
Karo 13.08.2010 um 11:37:01 Uhr
Goto Top
Hoi,

VB-Script hatte ich hier noch rumliegen, musste nur anpassen (s.u.). Ansonsten vielleicht mit Command Line von Produkey von Nirsoft (http://www.nirsoft.net/utils/product_cd_key_viewer.html)

sComputer = "127.0.0.1" ' ip or computer name here, use "." for local computer
iOfficeVer = GetOfficeVer(sComputer)

If iOfficeVer = -1 Then
WScript.Echo "Version of Office installed is unknown, " _
& "could not connect to the remote computer."
Elseif iOfficeVer = 0 Then
WScript.Echo "Office is not installed."
Else
WScript.Echo "Version of Office installed: " & iOfficeVer
End If

Function GetOfficeVer(sNode)
On Error Resume Next
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& sNode & "/root/default:StdRegProv")
If Err.Number <> 0 Then
GetOfficeVer = -1
Exit Function '------->
End If

sValueName = "Path"
sRegPre = "SOFTWARE\Microsoft\Office\"
sRegPost = "\Common\InstallRoot"

If oReg.GetStringValue( _
HKLM, sRegPre & "11.0" & sRegPost, sValueName, sValue) = 0 Then
GetOfficeVer = 2003
Elseif oReg.GetStringValue( _
HKLM, sRegPre & "10.0" & sRegPost, sValueName, sValue) = 0 Then
GetOfficeVer = 2002
Elseif oReg.GetStringValue( _
HKLM, sRegPre & "9.0" & sRegPost, sValueName, sValue) = 0 Then
GetOfficeVer = 2000
Elseif oReg.GetStringValue( _
HKLM, sRegPre & "8.0" & sRegPost, sValueName, sValue) = 0 Then
GetOfficeVer = 97
Else
GetOfficeVer = 0
End If

End Function