Windows 서버 2008 R2에 설치된 소프트웨어를 VBscript로 나열하고 싶습니다. 필수 소프트웨어 (그 중 하나는 .NET Framework 3.5.1)를 확인하고 싶습니다. 저는 실제로 두 가지 해결책을 가지고 있습니다. 둘 다 모든 소프트웨어를 보여주지는 못합니다. 이 설치된 모든 소프트웨어에 접근 가능Windows 서버 2008 R2에 설치된 VBScript 목록
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
:
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
다른 솔루션이 하나? 그렇지 않다면 나는 모든 필수 소프트웨어를위한 특정 솔루션을 만들 것이다.
편집 : 내 스크립트에 의해 발견 된 일부 소프트웨어 :
Microsoft 응용 프로그램 오류보고, 의 Microsoft Visual C++ 2008 재배포, Microsoft 보안 클라이언트, 어도비 리더
내가 발견하고 싶은 : 합니다. NET Framework 3.5.1
설치된 모든 소프트웨어를 찾을 수있는 일반적인 솔루션을 원합니다.
해결 방법 : 설치된 소프트웨어를 확인하는 일반적인 방법은없는 것 같습니다. 나는이 경로에있는 .NET 프레임 워크 레지스트리 키를 발견했습니다 당신이 설치되어 찾고있는 소프트웨어, 난 단지 당신이 수정할 수있는 방법을 추측 할 수있는 방법을 확인하기 위해 서버에 액세스하지 않고
"SOFTWARE\Microsoft\MSBuild\ToolsVersion\v3.5\"
그 두 스크립트는 Microsoft Windows Installer (MSI)를 통해 설치된 소프트웨어 만 표시합니다. 설치되었지만 표시되지 않는 소프트웨어의 예를 하나 또는 두 개 추가 할 수 있습니까? 그것은 내 가설을 증명하거나 반증 할 수 있습니다. – rene
나는 infos를 추가하기 위해 질문을 편집했다. – pikaille