有没有办法以编程方式获取有关启动DCOM应用程序身份的信息.看附图了解我的意思.
我试图使用WMI
ManagementObjectSearcher s = new ManagementObjectSearcher(new ManagementScope(@"\\.\root\cimv2"), new ObjectQuery( "select * from Win32_DCOMApplicationSetting where AppID='{048EB43E-2059-422F-95E0-557DA96038AF}'")) ManagementObjectCollection dcomSett = s.Get(); var value = dcomSett.Cast().ToArray() [0].Properties["RunAsUser"].Value;
但"RunAsUser"属性为空.也试过Interop.COMAdmin
COMAdmin.COMAdminCatalogClass catalog = (COMAdmin.COMAdminCatalogClass)new COMAdmin.COMAdminCatalog(); (COMAdmin.COMAdminCatalogCollection)catalog.GetCollection("Applications")
通过这种方式,我设法获得MMC的"组件服务"管理单元中"COM +应用程序"节点下列出的应用程序:
我是COM,DCOM,COM +的新手,确信我错过了一些重要的东西.
过了一会儿,我发现为什么我曾经在第一种方法(ManagementObject)中得到NULL.您将收到:
如果标识当前设置为启动用户,则为NULL
"交互式用户"中的"交互式用户"
在第三个选项的情况下使用用户名的一些字符串(参见第一张图片)
但我还是需要一种方法来改变MMC中DCOM Config节点下的Microsoft PowerPoint Slide等项目的身份.