|
ListAddRemovePrograms
Scriptet lister de programer der er installeret på en fremmed computer.
(Scriptet benytter sig af at WMI er installeret på fjerncomputeren)
Special thangs to Michael for building this script (I only testet it)
' Programør: Michael Torben Jacobsen
' Firma: T-Systems Danmark
' Dato: 24-10-2002
' Version: 1.1
'
' Code review: Torben Jørgensen
' Review date: 29-10-2002
'
ComputerNavn = "."
On Error Resume Next
Set RegBasen = GetObject("winmgmts:{impersonationLevel=impersonate}//" & ComputerNavn & "/root/default:StdRegProv")
HKLM = &H80000002 ' Hive: HKEY_LOCAL_MACHINE
UNINSTALL_ROOT = "Software\Microsoft\Windows\CurrentVersion\Uninstall"
Dim subKeyArr
Call RegBasen.EnumKey(HKLM, UNINSTALL_ROOT, subKeyArr)
Dim nameArr, typeArr, DataStr, REG_SZ
Dim ProgListArr()
ReDim ProgListArr(1)
REG_SZ = 1
for i = 0 to ubound(subKeyArr)
RegBasen.EnumValues HKLM, UNINSTALL_ROOT & "\" & subKeyArr(i), nameArr, typeArr
navn = ""
prog_version = ""
DataStr = ""
for k = 0 to ubound(nameArr)
if InStr(1, nameArr(k), "DisplayName", vbTextCompare) Then
if typeArr(k) = REG_SZ Then
RegBasen.GetStringValue HKLM, UNINSTALL_ROOT & "\" & subKeyArr(i), nameArr(k), DataStr
If DataStr <>"" Then
navn = DataStr
End If
end if
elseif InStr(1, nameArr(k), "DisplayVersion", vbTextCompare) Then
if typeArr(k) = REG_SZ Then
RegBasen.GetStringValue HKLM, UNINSTALL_ROOT & "\" & subKeyArr(i), nameArr(k), DataStr
If DataStr <>"" Then
prog_version = DataStr
End If
end if
End If
next
if prog_version <> "" then
navn_og_version = navn & " Version " & prog_version
else
navn_og_version = navn
end if
if subKeyArr(i) <> "" then
navn_og_version = subKeyArr(i) & " ---- " & navn_og_version
end if
if navn_og_version <> "" then
ReDim Preserve ProgListArr(UBound(ProgListArr)+1)
ProgListArr(UBound(ProgListArr)-1) = navn_og_version
end if
next
Call WScript.Echo(Join(ProgListArr, vbCrLf))
|