Проверка - админ или нет под w7
От: Аноним  
Дата: 28.01.11 09:23
Оценка:
Если просто запустить программу под W7, то она выполняется под админом, но с ограничениями. Чтобы получить полноценного админа — контекстное меню — "запустить от имени администратора". Как проверить — запущенна ли программа под полноценным админом или под ограниченным?
Re: Проверка - админ или нет под w7
От: SuhanovSergey  
Дата: 28.01.11 10:03
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Если просто запустить программу под W7, то она выполняется под админом, но с ограничениями. Чтобы получить полноценного админа — контекстное меню — "запустить от имени администратора". Как проверить — запущенна ли программа под полноценным админом или под ограниченным?


Прверить наличие ACE S-1-16-12288 (High Mandatory Level) в токене.
Re: Проверка - админ или нет под w7
От: Аноним  
Дата: 28.01.11 10:13
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Если просто запустить программу под W7, то она выполняется под админом, но с ограничениями. Чтобы получить полноценного админа — контекстное меню — "запустить от имени администратора". Как проверить — запущенна ли программа под полноценным админом или под ограниченным?


BOOL IsAdmin()
{ 
    SID_IDENTIFIER_AUTHORITY auth = SECURITY_NT_AUTHORITY;
    PSID pSid;
    BOOL fResult;
    if (AllocateAndInitializeSid(&auth, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &pSid))
    {
        if (!CheckTokenMembership(NULL, pSid, &fResult))
            fResult = -1;
        FreeSid(pSid);
        return fResult;
    }else
        return -1;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.