Как определить локального администратора или группу локальных админов?
Ведь учётку "Администратор" можно переименовать, да и язык может быть разный, на английском это Administrator на немецком ещё какойта, а нужно точно определить из всех локальных пользователей самого привилегированного. Тоже самое для групп.
Может кто знает?
Перебираю пользователей:
DirectoryEntry root = new DirectoryEntry("WinNT://" + Environment.MachineName);
foreach (DirectoryEntry de in root.Children)
{
if (de.SchemaClassName == "User")
{
}
}
Здравствуйте, Gunshipss, Вы писали:
G>Как определить локального администратора или группу локальных админов? G>Ведь учётку "Администратор" можно переименовать, да и язык может быть разный, на английском это Administrator на немецком ещё какойта, а нужно точно определить из всех локальных пользователей самого привилегированного. Тоже самое для групп.
Сейчас у меня виста, в ней нет нижеприведенного раздела, а раньше был раздел такой:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
может там, что было про эккаунты(я пользовал для скрытия пользователя из винлогона)
Не думаю, что вам поможет, но все же. А в WMI рылись?
Здравствуйте, Gunshipss, Вы писали:
G>Как определить локального администратора или группу локальных админов? G>Ведь учётку "Администратор" можно переименовать, да и язык может быть разный, на английском это Administrator на немецком ещё какойта, а нужно точно определить из всех локальных пользователей самого привилегированного. Тоже самое для групп.
G>Может кто знает?
G>Перебираю пользователей:
G>
G> DirectoryEntry root = new DirectoryEntry("WinNT://" + Environment.MachineName);
G> foreach (DirectoryEntry de in root.Children)
G> {
G> if (de.SchemaClassName == "User")
G> {
G> }
G> }
G>
А еще группа администраторов может быть отключена или ограничена в правах ...
Нужно перебирать на наличие определенных, нужных тебе прав ... а точнее обычно проверяется есть ли у введенного пользователя юзером нужные права.
Доброго времени суток! Мир Вам! С уважением Clevelus.
Если мой ответ понравился — оцените, ни на что не влияет, но будет приятно.
Здравствуйте, Gunshipss, Вы писали:
G>Как определить локального администратора или группу локальных админов? G>Ведь учётку "Администратор" можно переименовать, да и язык может быть разный, на английском это Administrator на немецком ещё какойта
Все предопределенные локальные группы и пользователи имеют заранее известный фиксированный SID.
... << RSDN@Home 1.2.0 alpha 4 rev. 1095 on Windows Vista 6.0.6001.65536>>
AVK>Все предопределенные локальные группы и пользователи имеют заранее известный фиксированный SID.
Уточню, у некоторых аккаунтов известен не SID (целиком), а его последняя часть (RID). У Администратора он = 500.
И SID Администратора — [СИД машины(домена)]-500
Здравствуйте, leonidvp, Вы писали:
L>Здравствуйте, AndrewVK, Вы писали:
AVK>>Все предопределенные локальные группы и пользователи имеют заранее известный фиксированный SID.
L>Уточню, у некоторых аккаунтов известен не SID (целиком), а его последняя часть (RID). У Администратора он = 500. L>И SID Администратора — [СИД машины(домена)]-500
Здравствуйте, Gunshipss, Вы писали:
G>Здравствуйте, leonidvp, Вы писали:
L>>Здравствуйте, AndrewVK, Вы писали:
AVK>>>Все предопределенные локальные группы и пользователи имеют заранее известный фиксированный SID.
L>>Уточню, у некоторых аккаунтов известен не SID (целиком), а его последняя часть (RID). У Администратора он = 500. L>>И SID Администратора — [СИД машины(домена)]-500
G>Действительно RID у админа 500 у гостя 501.
G>Спасибо за ответы.
Кстати, где-то на просторах Microsoft валялся документ, в котором все sid определенные строго были перечислены (просто когда клонируешь машинку в домене нужно сиды перебить, но не все — на это есть специальная утилитка)
Повторюсь: в большинстве случаев поиск администратора — неверен, так как у него может не быть прав. В нормальных доменах, например, локального админа отрубают, но работаеют доменные админы, да и ... вариантов миллион. Верно искать (проверять) пользователя, имеющего определенные права, или в крайнем случае состоящем в определенной группе.
Доброго времени суток! Мир Вам! С уважением Clevelus.
Если мой ответ понравился — оцените, ни на что не влияет, но будет приятно.