PC Review


Reply
Thread Tools Rate Thread

Determining an administrator on Vista

 
 
Al
Guest
Posts: n/a
 
      3rd Feb 2009
I am using the techinque to get the TokenElevationType using the API
GetTokenInformation on Vista to determine if a user is an admin. It seems to
work fine on Vista Business/Ultimate etc. However, it fails on Vista Home.
Does anyone have any clues?

The code is along the following lines:

TOKEN_ELEVATION_TYPE elevationType;
DWORD dwSize;

GetTokenInformation(hUserToken, TokenElevationType, &elevationType,
sizeof(elevationType), &dwSize);

switch (elevationType)
{
case TokenElevationTypeDefault:
TRACE(_T("TokenElevationTypeDefault - User is not using a split token\n"));
m_bAdmin = FALSE;
break;

case TokenElevationTypeFull:
TRACE(_T("TokenElevationTypeFull - User has a split token, and the
process is running elevated\n"));
m_bAdmin = TRUE;
break;

case TokenElevationTypeLimited:
TRACE(_T("TokenElevationTypeLimited - User has a split token, but the
process is not running elevated\n"));
m_bAdmin = TRUE;
break;

}

Thanks.
 
Reply With Quote
 
 
 
 
Sam Hobbs
Guest
Posts: n/a
 
      4th Feb 2009
First, when posting questions about a function that returns potential
errors, include the error code. This function returns an error code that is
obtained by GetLastError. If you have not used GetLastError for this then if
you do use it for this you might have an answer. If the error code does not
immediately tell you what the problem is then search for GetTokenInformation
with the error code. You might need to convert the error code to a symbolic
name; look in winerror.h to do that. Or you might need to search the error
code with a "0x" prefix. Search the MSDN, and if that does not help, search
the Windows programming security group (Google groups might help) and if
that does not help search the internet.

Second, any time a question says something such as "doesn't work" or
"fails", it is usually necessary to be more specific about the symptoms, as
I describe above.

Finally, this is not a programming group. You should ask in the Windows
programming security group.



"Al" <(E-Mail Removed)> wrote in message
newsC7AACBF-4361-4353-B1D9-(E-Mail Removed)...
>I am using the techinque to get the TokenElevationType using the API
> GetTokenInformation on Vista to determine if a user is an admin. It seems
> to
> work fine on Vista Business/Ultimate etc. However, it fails on Vista Home.
> Does anyone have any clues?
>
> The code is along the following lines:
>
> TOKEN_ELEVATION_TYPE elevationType;
> DWORD dwSize;
>
> GetTokenInformation(hUserToken, TokenElevationType, &elevationType,
> sizeof(elevationType), &dwSize);
>
> switch (elevationType)
> {
> case TokenElevationTypeDefault:
> TRACE(_T("TokenElevationTypeDefault - User is not using a split
> token\n"));
> m_bAdmin = FALSE;
> break;
>
> case TokenElevationTypeFull:
> TRACE(_T("TokenElevationTypeFull - User has a split token, and the
> process is running elevated\n"));
> m_bAdmin = TRUE;
> break;
>
> case TokenElevationTypeLimited:
> TRACE(_T("TokenElevationTypeLimited - User has a split token, but the
> process is not running elevated\n"));
> m_bAdmin = TRUE;
> break;
>
> }
>
> Thanks.


 
Reply With Quote
 
Al
Guest
Posts: n/a
 
      4th Feb 2009
You obviously are clueless about what I asked. If you don't know, that is
fine but please don't waste everyone's time by responding with useless
messages.

"Sam Hobbs" wrote:

> First, when posting questions about a function that returns potential
> errors, include the error code. This function returns an error code that is
> obtained by GetLastError. If you have not used GetLastError for this then if
> you do use it for this you might have an answer. If the error code does not
> immediately tell you what the problem is then search for GetTokenInformation
> with the error code. You might need to convert the error code to a symbolic
> name; look in winerror.h to do that. Or you might need to search the error
> code with a "0x" prefix. Search the MSDN, and if that does not help, search
> the Windows programming security group (Google groups might help) and if
> that does not help search the internet.
>
> Second, any time a question says something such as "doesn't work" or
> "fails", it is usually necessary to be more specific about the symptoms, as
> I describe above.
>
> Finally, this is not a programming group. You should ask in the Windows
> programming security group.
>
>
>
> "Al" <(E-Mail Removed)> wrote in message
> newsC7AACBF-4361-4353-B1D9-(E-Mail Removed)...
> >I am using the techinque to get the TokenElevationType using the API
> > GetTokenInformation on Vista to determine if a user is an admin. It seems
> > to
> > work fine on Vista Business/Ultimate etc. However, it fails on Vista Home.
> > Does anyone have any clues?
> >
> > The code is along the following lines:
> >
> > TOKEN_ELEVATION_TYPE elevationType;
> > DWORD dwSize;
> >
> > GetTokenInformation(hUserToken, TokenElevationType, &elevationType,
> > sizeof(elevationType), &dwSize);
> >
> > switch (elevationType)
> > {
> > case TokenElevationTypeDefault:
> > TRACE(_T("TokenElevationTypeDefault - User is not using a split
> > token\n"));
> > m_bAdmin = FALSE;
> > break;
> >
> > case TokenElevationTypeFull:
> > TRACE(_T("TokenElevationTypeFull - User has a split token, and the
> > process is running elevated\n"));
> > m_bAdmin = TRUE;
> > break;
> >
> > case TokenElevationTypeLimited:
> > TRACE(_T("TokenElevationTypeLimited - User has a split token, but the
> > process is not running elevated\n"));
> > m_bAdmin = TRUE;
> > break;
> >
> > }
> >
> > Thanks.

>

 
Reply With Quote
 
Mark H
Guest
Posts: n/a
 
      4th Feb 2009
http://www.developmentnow.com/groups...hreadid=851943

http://blogs.msdn.com/cjacks/archive...ows-Vista.aspx


If that doesn't answer it, contact Wang. (e-mail at end of post, first link)

"Al" <(E-Mail Removed)> wrote in message
newsC7AACBF-4361-4353-B1D9-(E-Mail Removed)...
> I am using the techinque to get the TokenElevationType using the API
> GetTokenInformation on Vista to determine if a user is an admin. It seems

to
> work fine on Vista Business/Ultimate etc. However, it fails on Vista Home.
> Does anyone have any clues?
>
> The code is along the following lines:
>
> TOKEN_ELEVATION_TYPE elevationType;
> DWORD dwSize;
>
> GetTokenInformation(hUserToken, TokenElevationType, &elevationType,
> sizeof(elevationType), &dwSize);
>
> switch (elevationType)
> {
> case TokenElevationTypeDefault:
> TRACE(_T("TokenElevationTypeDefault - User is not using a split

token\n"));
> m_bAdmin = FALSE;
> break;
>
> case TokenElevationTypeFull:
> TRACE(_T("TokenElevationTypeFull - User has a split token, and the
> process is running elevated\n"));
> m_bAdmin = TRUE;
> break;
>
> case TokenElevationTypeLimited:
> TRACE(_T("TokenElevationTypeLimited - User has a split token, but the
> process is not running elevated\n"));
> m_bAdmin = TRUE;
> break;
>
> }
>
> Thanks.



 
Reply With Quote
 
FromTheRafters
Guest
Posts: n/a
 
      4th Feb 2009
http://blogs.msdn.com/cjacks/archive...ows-Vista.aspx

Maybe these guys can be more help.

"Al" <(E-Mail Removed)> wrote in message
news:6EB33FAB-D276-4B5B-9DAE-(E-Mail Removed)...
> You obviously are clueless about what I asked. If you don't know, that is
> fine but please don't waste everyone's time by responding with useless
> messages.
>
> "Sam Hobbs" wrote:
>
>> First, when posting questions about a function that returns potential
>> errors, include the error code. This function returns an error code that
>> is
>> obtained by GetLastError. If you have not used GetLastError for this then
>> if
>> you do use it for this you might have an answer. If the error code does
>> not
>> immediately tell you what the problem is then search for
>> GetTokenInformation
>> with the error code. You might need to convert the error code to a
>> symbolic
>> name; look in winerror.h to do that. Or you might need to search the
>> error
>> code with a "0x" prefix. Search the MSDN, and if that does not help,
>> search
>> the Windows programming security group (Google groups might help) and if
>> that does not help search the internet.
>>
>> Second, any time a question says something such as "doesn't work" or
>> "fails", it is usually necessary to be more specific about the symptoms,
>> as
>> I describe above.
>>
>> Finally, this is not a programming group. You should ask in the Windows
>> programming security group.
>>
>>
>>
>> "Al" <(E-Mail Removed)> wrote in message
>> newsC7AACBF-4361-4353-B1D9-(E-Mail Removed)...
>> >I am using the techinque to get the TokenElevationType using the API
>> > GetTokenInformation on Vista to determine if a user is an admin. It
>> > seems
>> > to
>> > work fine on Vista Business/Ultimate etc. However, it fails on Vista
>> > Home.
>> > Does anyone have any clues?
>> >
>> > The code is along the following lines:
>> >
>> > TOKEN_ELEVATION_TYPE elevationType;
>> > DWORD dwSize;
>> >
>> > GetTokenInformation(hUserToken, TokenElevationType, &elevationType,
>> > sizeof(elevationType), &dwSize);
>> >
>> > switch (elevationType)
>> > {
>> > case TokenElevationTypeDefault:
>> > TRACE(_T("TokenElevationTypeDefault - User is not using a split
>> > token\n"));
>> > m_bAdmin = FALSE;
>> > break;
>> >
>> > case TokenElevationTypeFull:
>> > TRACE(_T("TokenElevationTypeFull - User has a split token, and the
>> > process is running elevated\n"));
>> > m_bAdmin = TRUE;
>> > break;
>> >
>> > case TokenElevationTypeLimited:
>> > TRACE(_T("TokenElevationTypeLimited - User has a split token, but the
>> > process is not running elevated\n"));
>> > m_bAdmin = TRUE;
>> > break;
>> >
>> > }
>> >
>> > Thanks.

>>



 
Reply With Quote
 
Sam Hobbs
Guest
Posts: n/a
 
      5th Feb 2009
So do you think this is a programmer's group?

The answer I gave is typical of answers given in the MSDN forums. It is very
normal for people in a programmer's forum to ask for details of "fails"; in
particular what does GetLastError return when it is relevant. If this
question were responded to by a Microsoft person, they would certainly ask
for that.

What in particular do you consider incorrect?


"Al" <(E-Mail Removed)> wrote in message
news:6EB33FAB-D276-4B5B-9DAE-(E-Mail Removed)...
> You obviously are clueless about what I asked. If you don't know, that is
> fine but please don't waste everyone's time by responding with useless
> messages.
>
> "Sam Hobbs" wrote:
>
>> First, when posting questions about a function that returns potential
>> errors, include the error code. This function returns an error code that
>> is
>> obtained by GetLastError. If you have not used GetLastError for this then
>> if
>> you do use it for this you might have an answer. If the error code does
>> not
>> immediately tell you what the problem is then search for
>> GetTokenInformation
>> with the error code. You might need to convert the error code to a
>> symbolic
>> name; look in winerror.h to do that. Or you might need to search the
>> error
>> code with a "0x" prefix. Search the MSDN, and if that does not help,
>> search
>> the Windows programming security group (Google groups might help) and if
>> that does not help search the internet.
>>
>> Second, any time a question says something such as "doesn't work" or
>> "fails", it is usually necessary to be more specific about the symptoms,
>> as
>> I describe above.
>>
>> Finally, this is not a programming group. You should ask in the Windows
>> programming security group.
>>
>>
>>
>> "Al" <(E-Mail Removed)> wrote in message
>> newsC7AACBF-4361-4353-B1D9-(E-Mail Removed)...
>> >I am using the techinque to get the TokenElevationType using the API
>> > GetTokenInformation on Vista to determine if a user is an admin. It
>> > seems
>> > to
>> > work fine on Vista Business/Ultimate etc. However, it fails on Vista
>> > Home.
>> > Does anyone have any clues?
>> >
>> > The code is along the following lines:
>> >
>> > TOKEN_ELEVATION_TYPE elevationType;
>> > DWORD dwSize;
>> >
>> > GetTokenInformation(hUserToken, TokenElevationType, &elevationType,
>> > sizeof(elevationType), &dwSize);
>> >
>> > switch (elevationType)
>> > {
>> > case TokenElevationTypeDefault:
>> > TRACE(_T("TokenElevationTypeDefault - User is not using a split
>> > token\n"));
>> > m_bAdmin = FALSE;
>> > break;
>> >
>> > case TokenElevationTypeFull:
>> > TRACE(_T("TokenElevationTypeFull - User has a split token, and the
>> > process is running elevated\n"));
>> > m_bAdmin = TRUE;
>> > break;
>> >
>> > case TokenElevationTypeLimited:
>> > TRACE(_T("TokenElevationTypeLimited - User has a split token, but the
>> > process is not running elevated\n"));
>> > m_bAdmin = TRUE;
>> > break;
>> >
>> > }
>> >
>> > Thanks.

>>


 
Reply With Quote
 
Sam Hobbs
Guest
Posts: n/a
 
      5th Feb 2009
Al (the person asking the question) needs to do it in a program. If I am
incorrect about that then the source code is misleading. In programming
forums, when someone provides source code, they cannot use a "manual"
(non-automated) solution.



"SuperXero" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
>
> How about this instead. Right Click on my computer, click manage, local
> users and groups, users, right click, properties, member of. If they are
> in the administrators group they are an admin.
>
> SuperXero
> *'HackingManual.Net' (http://hackingmanual.net)*
>
>
> --
> SuperXero


 
Reply With Quote
 
Sam Hobbs
Guest
Posts: n/a
 
      5th Feb 2009
Yes, there you go; there are many reasons that might be done. Generally it
would be useful for issuing a message informing someone they need to have
Administrator privileges when they don't, instead of letting them proceed
and then get a more obscure crash message.


"SuperXero" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
>
> I get it sam, like if a program needs to validate someone as admin or
> not admin. Yep I'm not a programmer just a network admin.
>
>
> --
> SuperXero


 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Determining if I have AntiVirus Protection in Vista Home Premium DDB Windows Vista Security 3 12th Apr 2008 09:38 AM
If I am logged in as administrator why don't programs run as administrator vista? RoaringLambs Windows Vista General Discussion 6 14th Jun 2007 12:17 AM
Vista: I log on as Administrator, then Vista logs me off!? =?Utf-8?B?RVc=?= Windows Vista Administration 1 26th May 2007 12:22 AM
Determining whether XP or Vista is the operating system Bob Flanagan Microsoft Excel Programming 3 2nd Apr 2007 04:14 PM
Administrator on Vista Vipin Windows Vista Security 17 13th Oct 2006 07:59 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 03:51 AM.