My local user account is in the Administrators group, and I just wanted to find out how the project will look like windows if I'm in the administrators group. So, I started the windows forms project and tried the following:
[STAThread] static void Main() { string adminGroup1 = @"BUILTIN\Administrators"; string adminGroup2 = Environment.MachineName + @"\Administrators"; string adminGroup3 = Environment.MachineName.ToLower() + @"\Administrators"; string adminGroup4 = "Administrators"; string adminGroup5 = "administrators"; AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); WindowsPrincipal currentUser1 = (WindowsPrincipal)Thread.CurrentPrincipal; bool IsAdmin1_1 = currentUser1.IsInRole(adminGroup1); // false bool IsAdmin1_2 = currentUser1.IsInRole(adminGroup2); // false bool IsAdmin1_3 = currentUser1.IsInRole(adminGroup3); // false bool IsAdmin1_4 = currentUser1.IsInRole(adminGroup4); // false bool IsAdmin1_5 = currentUser1.IsInRole(adminGroup5); // false WindowsPrincipal currentUser2 = new WindowsPrincipal(WindowsIdentity.GetCurrent()); bool IsAdmin2_1 = currentUser2.IsInRole(adminGroup1); // false bool IsAdmin2_2 = currentUser2.IsInRole(adminGroup2); // false bool IsAdmin2_3 = currentUser2.IsInRole(adminGroup3); // false bool IsAdmin2_4 = currentUser1.IsInRole(adminGroup4); // false bool IsAdmin2_5 = currentUser2.IsInRole(adminGroup5); // false Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
Why all the above checks do not work?
source share