Есть ли способ получить информацию о программном запуске идентификации приложения DCOM. См. Рисунок, чтобы понять, что я имею в виду.Как изменить идентификатор конфигурации 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<ManagementObject>().ToArray()
[0].Properties["RunAsUser"].Value;
, но свойство "RunAsUser" был пуст. попытался также Interop.COMAdmin
COMAdmin.COMAdminCatalogClass catalog = (COMAdmin.COMAdminCatalogClass)new COMAdmin.COMAdminCatalog();
(COMAdmin.COMAdminCatalogCollection)catalog.GetCollection("Applications")
таким образом мне удалось получить приложения, которые перечислены в узле «COM + Applications» в разделе «Службы компонентов» оснастки ММС:
Я новичок в COM, DCOM, COM + и уверен, что пропустил что-то важное.
Через некоторое время я узнал, почему я использовал NULL в первом подходе (ManagementObject). Вы получите:
- NULL, если личность в настоящее время устанавливаются на пользователя запуска
- «Интерактивный пользователя» в случае «интерактивного пользователя»
- некоторая строка с именем пользователя в случае третий вариант (см. первое изображение)
Но все же мне нужен способ изменить идентификатор для таких предметов, как Microsoft PowerPoint Slide под DCOM Config узел в MMC.
Я попробовал, но, как я сказал: таким образом удалось получить приложения, которые перечислены в узле «COM + Applications» в оснастке «Службы компонентов» MMC. Но мне нужно получить/установить идентификатор запуска для элементов под ** «DCOM Comfig» **, например ** Microsoft PowerPoint Slide ** – Alex
Не отвечая на заданный вопрос. 'COMAppCollectionInUse' не существует. –