| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Является ли юзер админом на указанном сервере |
| Автор: mihryak 29.4.2010, 15:45 | ||
| Как проверить, что доменный пользователь (член Domain Users) является администратором на произвольном сервере? Пока не получается придумать ничего лучше этого:
Работает долго, крайне смущает рекурсивность (в больших сетях тормозить будет безбожно). Может есть иной способ? Очень бы хотелось приспособить WindowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator), но ему не задать контекст, в котором будет происходить проверка. |
| Автор: jonie 29.4.2010, 15:53 | ||
а нельзя разве
кстати, в домене можно просто сделать запрос LDAP с фильтром. Посмотрите в сторону LINQ2LDAP и LINQ to Active Directory |
| Автор: mihryak 29.4.2010, 16:09 | ||
а мне нужно получить для создания WindowsIdentity именно logon token с удалённого компа, чтобы сделать проверку на вхождение в роль в его контектсе Т.е. есть некий комп в домене, у него есть локальная группа Administrators, и в этой группе есть (или нет) мой доменный юзер - это и надо выяснить. При этом, в этой группе моежт быть и другая группа, ......., в которой есть мой юзер Про Linq to LDAP ничего не знал, спасибо Но, боюсь, мне не помогут они ничем, кроме переписывания моего же поиска юзера в другой форме - мне не хватает понимания, что и у кого спрашивать, чтобы получить нужный ответ |
| Автор: jonie 30.4.2010, 08:20 |
| ну хорошо, давайте тогда попробуем WMI использовать. Дело в том, что в AD не содержится информация о локальных группах. Вот тут вам пример: http://blogs.technet.com/heyscriptingguy/archive/2005/11/02/how-can-i-determine-the-name-of-the-local-administrators-group.aspx ну только запрос сразу делайте с условием, чтобы не делать перебор UPD: ссылка немного не о том, но я думаю вы найдете по ней часть ответа (там sid надо менять) |
| Автор: mihryak 4.5.2010, 15:36 |
| jonie, спасибо, на WMI смотрел, но его удобство теряется, когда нужно рекурсивность проверки добавить - разбор становится не таким уж простым в реальных условиях (большой домен, много юзеров) нет сейчас возможности проверить, так что пока оставил свой вариант, будет неприемлимо тормозить - перепишу на WMI |