Откройте страницу свойств пользователей и компьютеров Active Directory из приложения C#
Я хотел бы открыть листы свойств для пользователей, групп и т. Д. Консоли "Пользователи и компьютеры Active Directory" из приложения C#.
Кто-нибудь знает, как это сделать?
Я нашел пример в Windows Server 2003 Platform SDK. К сожалению, он на C++, очень длинный, очень сложный и не работает с 64-битными операционными системами.
Но я думаю, что решением может быть небольшая библиотека на C++, которая только открывает лист свойств и действует как оболочка для приложения C#.
С уважением, Гамбург, Марк
1 ответ
Этот образец Microsoft из GitHub работает с 64-битными системами. Вы передаете путь ADS в качестве параметра, и он вызывает окно свойств.
PropSheetHost.exe "LDAP://CN=user,DC=MyDomain,DC=MyTldDomain"
Важно, чтобы он был чувствителен к регистру, поэтому «ldap://..» не работает. Код определенно не предназначен для многократного вызова перед завершением, поэтому, вероятно, это лучший способ использовать exe без таких изменений:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"PropSheetHost.exe";
startInfo.Arguments = @"LDAP://CN=user,DC=MyDomain,DC=MyTldDomain";
Process.Start(startInfo);
Для прямого вызова из C# необходимо внести некоторые изменения (например, добавить отсутствующий класс unregister). Это работает для меня: как открыть диалоговое окно свойств объекта «Пользователи и компьютеры Active Directory» из С#?