VSP
VSP

Reputation: 2393

Detect if running with elevated privileges? (domain administrator accounts included)

Extending this question: Detect if running as Administrator with or without elevated privileges?

The most voted answer works if the account to "run as administrator" is a local administrator but if you use a domain administrator account the variable isProcessAdmin returns false. In contrast, UAC accepts the Domain Administrator as a valid account when elevating privileges (create folder in c:\windows\, run as administrator, etc)...How can i modify the UACHelper.IsProcessElevated so it takes into account that case too?

Upvotes: 2

Views: 3397

Answers (1)

user7116
user7116

Reputation: 64148

You need to pass the domain values to IsInRole:

// DOMAINNAME\Domain Admins RID: 0x200
bool isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator)
               || principal.IsInRole(0x200);

Upvotes: 4

Related Questions