C# administrator privilege - checking
I know that there are some similar questions. But I want to check only ONE thing.
I only want to know if program is running as administrator. I want to check that because I want to edit some secured files. User don't have to be administrator. I only want to know if my application has rights to edit some secured files that are editable when running as Administrator.
Solution 1:
This will return a bool valid
using System.Security.Principal;
bool isElevated;
using (WindowsIdentity identity = WindowsIdentity.GetCurrent())
{
WindowsPrincipal principal = new WindowsPrincipal(identity);
isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
}
Solution 2:
Here's @atrljoe's answer turned into a one liner using the latest C#:
using System.Security.Principal;
static bool IsElevated => new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);