Posso encontrar o caminho para um aplicativo DCOM executável com o WMI ou Powershell?

2

Eu instalei (e registrei) um aplicativo DCOM em uma máquina W2K8R2 e seu GUID pode ser encontrado no Lista DCOM mostrada por dcomcnfg.

Também posso usar o Powershell para encontrar um Win32_DCOMApplication ou objeto Win32_DCOMApplicationSetting para seu GUID:

PS C:\Windows\system32> Get-WMIObject Win32_DCOMApplicationSetting -Filter "AppID='{1CECFD4D-2CFB-4626-95C7-0266C26960FA
}'"


__GENUS                   : 2
__CLASS                   : Win32_DCOMApplicationSetting
__SUPERCLASS              : Win32_COMSetting
__DYNASTY                 : CIM_Setting
__RELPATH                 : Win32_DCOMApplicationSetting.AppID="{1CECFD4D-2CFB-4626-95C7-0266C26960FA}"
__PROPERTY_COUNT          : 12
__DERIVATION              : {Win32_COMSetting, CIM_Setting}
__SERVER                  : MYSRV
__NAMESPACE               : root\cimv2
__PATH                    : \MYSRV\root\cimv2:Win32_DCOMApplicationSetting.AppID="{1CECFD4D-2CFB-4626-95C7-0266C269
                            60FA}"
AppID                     : {1CECFD4D-2CFB-4626-95C7-0266C26960FA}
AuthenticationLevel       :
Caption                   :
CustomSurrogate           :
Description               :
EnableAtStorageActivation : False
LocalService              :
RemoteServerName          :
RunAsUser                 :
ServiceParameters         :
SettingID                 :
UseSurrogate              : False

A saída mostra que há uma entrada de aplicativo DCOM para o meu GUID. No entanto, não mostra o caminho para o executável. Existe uma maneira de recuperar o caminho completo do executável do aplicativo com o WMI?

    
por mjn 22.04.2015 / 10:30

2 respostas

0

Usando a classe Win32_ClassicCOMClassSetting com o Powershell

Get-WMIObject Win32_ClassicCOMClassSetting -Filter "AppID='{1CECFD4D-2CFB-4626-95C7-0266C26960FA}'" | select -ExpandProperty InProcServer32

ou usando o WMIC

wmic /namespace:\root\cimv2 path Win32_ClassicCOMClassSetting WHERE AppID^="{1CECFD4D-2CFB-4626-95C7-0266C26960FA}" Get InProcServer32

* isso foi testado no Windows 8.1 x64

ou usando reg.exe

reg QUERY HKCR\Wow6432Node\CLSID\{1CECFD4D-2CFB-4626-95C7-0266C26960FA}\Inprocserver32 /ve
    
por 17.06.2015 / 21:01
2

O que acontece quando você pesquisa no registro por {1CECFD4D-2CFB-4626-95C7-0266C26960FA} ?

Então, o componente powershell, você deve começar:

$cred = Get-Credential domain\user
Enter-PSSession <name of computer> -Credential $cred
Set-Location HKCR:\Wow6432Node\CLSID\{1CECFD4D-2CFB-4626-95C7-0266C26960FA}\LocalServer32
Get-ChildItem
    
por 15.06.2015 / 11:39