我想用VBscript列出在windows server 2008 R2上安裝的軟件。 我想驗證必備軟件(其中之一是.NET Framework 3.5.1)。 我實際上有兩個解決方案,他們都沒有顯示所有的軟件。在Windows Server 2008 R2上安裝的VBScript列表軟件
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
installedSoftwaresPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
Set objReg = GetObject("winmgmts://./root/default:StdRegProv")
objReg.EnumKey HKLM, installedSoftwaresPath, arrSubkeys
For Each strSubkey In arrSubkeys
Ret = objReg.GetStringValue(HKLM, installedSoftwaresPath & strSubkey, "DisplayName", SoftwareName)
If Ret <> 0 Then
objReg.GetStringValue HKLM, strKey & strSubkey, "QuietDisplayName", SoftwareName
End If
If SoftwareName<> "" Then
WScript.Echo VbCrLf & "Display Name: " & SoftwareName
End If
Next
另一種方案是這樣的一個:
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colSoftware = objWMIService.ExecQuery("Select * from Win32_Product")
For Each objSoftware in colSoftware
WScript.Echo objSoftware.Caption
Next
是否有可能獲得所有已安裝的軟件?如果沒有,我會爲每個必備軟件制定一個特定的解決方案。
編輯: 有些應用軟件我的腳本發現:
Microsoft應用程序錯誤報告, 微軟的Visual C++ 2008可再發行, 微軟安全客戶端, ADOBE READER
我想發現: 。 NET框架3.5.1
我想要一個通用的解決方案來找到所有安裝的軟件。
SOLUTION: 看來,沒有通用的方法來檢查已安裝的軟件。我發現在這條道路的.NET框架的註冊表項:
"SOFTWARE\Microsoft\MSBuild\ToolsVersion\v3.5\"
我想這兩個腳本只顯示通過Microsoft Windows Installer(MSI)安裝的軟件。你可以添加一個或兩個已安裝但未顯示的軟件示例嗎?這可以證明或反駁我的假設。 – rene 2012-08-08 20:52:01
我編輯了這個問題來添加信息。 – pikaille 2012-08-09 13:30:39