web-dev-qa-db-fra.com

Privilège administrateur C # - vérification

Je sais qu'il y a des questions similaires. Mais je veux vérifier UNE seule chose.

Je veux seulement savoir si le programme fonctionne en tant qu'administrateur. Je veux vérifier cela parce que je veux éditer certains fichiers sécurisés. L'utilisateur n'a pas besoin d'être administrateur. Je veux seulement savoir si mon application a le droit de modifier certains fichiers sécurisés qui sont modifiables lors de l'exécution en tant qu'administrateur.

39
Hooch

Cela renverra un bool valide

using System.Security.Principal;

bool isElevated;
using (WindowsIdentity identity = WindowsIdentity.GetCurrent())
{
    WindowsPrincipal principal = new WindowsPrincipal(identity);
    isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
}
90
atrljoe

Voici la réponse de @ atrljoe transformée en une ligne en utilisant le dernier C #:

using System.Security.Principal;

static bool IsElevated => new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
6
Bryan Legend