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-Key: 148922

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

Printed on: April 24, 2024 at 23:04 o'clock

Member: Karo
Karo Aug 13, 2010 at 09:37:01 (UTC)
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