Pertanyaan Cara memeriksa C # jika menjalankan sebagai administrator lokal [duplikat]


Kemungkinan Duplikat:
Bagaimana saya bisa tahu apakah proses saya menjalankan As Administrator? 

Bagaimana saya dapat memeriksa menggunakan C # jika proses saya berjalan sebagai Administrator lokal?

Saya tahu bagaimana mengetahui apakah pengguna saat ini adalah anggota grup Administrator bawaan. Tapi ini bukan yang ingin saya ketahui. Saya ingin tahu apakah pengguna saat ini adalah akun Administrator lokal khusus (khusus dan satu-satunya).

Saya juga tahu bagaimana cara mengambil nama pengguna saat ini, tetapi saya tidak ingin membandingkannya dengan nama "Administrator" yang diberi nama keras karena ini tidak akan berfungsi dengan versi Windows yang dilokalkan (misalnya "Administrador" dalam bahasa Spanyol, "Administrateur" dalam bahasa Prancis, dll.).


5
2017-09-07 12:41


asal


Jawaban:


ini adalah cara yang saya gunakan

    WindowsIdentity user = WindowsIdentity.GetCurrent();
    WindowsPrincipal principal = new WindowsPrincipal(user);
    bool isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);

1
2017-09-07 13:42