我可以通过WMI或PowershellfindDCOM应用程序可执行文件的path吗?

我已经在W2K8R2机器上安装(并注册了)DCOM应用程序,其GUID可以在dcomcnfg显示的DCOM列表中find。

我也可以使用Powershell为其GUIDfind一个Win32_DCOMApplication或Win32_DCOMApplicationSetting对象:

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 

输出显示我的GUID有一个DCOM应用程序条目。 但是它不显示可执行文件的path。 有没有办法用WMI检索应用程序可执行文件的完整path?

在Powershell中使用Win32_ClassicCOMClassSetting类

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

或使用WMIC

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

*这是在Windows 8.1 x64上testing的

或使用reg.exe

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

在searchregistry{1CECFD4D-2CFB-4626-95C7-0266C26960FA}什么?

所以,PowerShell组件,这应该让你开始:

 $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