c# - How to check if windows user has a password set? -


question

i didn't know difficult figure out here am.

i'm developing net support client has detect if current logged in user has password set. tried wmi checking passwordrequired property in win32_useraccount class, returns false if account is password protected. i'm out of ideas...

(background: need info tell user has set 1 can connect him via remote desktop, isn't happy if account "unprotected". if there way around i'd accept different solution.)

sincerely yours
nefarius

solution

easier thought, managed winapi function logonuser , provide simple wrapper code:

    private bool passwordrequired     {                 {             intptr phtoken;              // http://www.pinvoke.net/default.aspx/advapi32/logonuser.html             bool loggedin = logonuser(environment.username,                 null,                 "",                 (int)logontype.logon32_logon_interactive,                 (int)logonprovider.logon32_provider_default,                 out phtoken);              int error = marshal.getlastwin32error();              if (phtoken != intptr.zero)                 // http://www.pinvoke.net/default.aspx/kernel32/closehandle.html                 closehandle(phtoken);              // 1327 = empty password             if (loggedin || error == 1327)                 return false;             else                 return true;         }     } 

that's needed, thank fast , competent answers, can count on you! =)

why not try logonuser empty password?


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -