2012-08-08 4 views
0

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\" 
+0

그 두 스크립트는 Microsoft Windows Installer (MSI)를 통해 설치된 소프트웨어 만 표시합니다. 설치되었지만 표시되지 않는 소프트웨어의 예를 하나 또는 두 개 추가 할 수 있습니까? 그것은 내 가설을 증명하거나 반증 할 수 있습니다. – rene

+0

나는 infos를 추가하기 위해 질문을 편집했다. – pikaille

답변

1

당신의 스크립트.

그러나, 당신은 아마 외에 찾고해야 다른 장소가있다 :

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall 
HKLM\SOFTWARE\Classes\Installer 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData 
: 마이크로 소프트 \ 윈도우 \ CurrentVersion을 \ 제거 \ 예를 들어

\ HKLM \ 소프트웨어, 당신은에보고 할 수 있습니다

그 위치 중 하나에서 원하는 것을 찾을 수도 있습니다.

RegEdit을 사용하여 ".NET Framework 3.5.1"에 대한 "찾기"를 수행하여 안정적으로 찾을 수있는 곳이 있는지 확인할 수도 있습니다.

관련 문제