Auf Englisch lesen

Teilen über


WindowsBuiltInRole Enumeration

Definition

Gibt allgemeine Rollen an, die mit IsInRole(String) verwendet werden.

C#
public enum WindowsBuiltInRole
C#
[System.Serializable]
public enum WindowsBuiltInRole
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum WindowsBuiltInRole
Vererbung
WindowsBuiltInRole
Attribute

Felder

Name Wert Beschreibung
AccountOperator 548

Kontooperatoren verwalten die Benutzerkonten auf einem Computer oder in einer Domäne.

Administrator 544

Administratoren haben vollständigen und uneingeschränkten Zugriff auf den Computer oder die Domäne.

BackupOperator 551

Backupoperatoren können Sicherheitsbeschränkungen lediglich für das Sichern oder Wiederherstellen von Dateien überschreiben.

Guest 546

Für Gäste gelten umfassendere Einschränkungen als für Benutzer.

PowerUser 547

Hauptbenutzer verfügen über die umfassendsten Administratorberechtigungen mit einigen Einschränkungen. Daher können Hauptbenutzer neben zertifizierten Anwendungen auch ältere Anwendungen ausführen.

PrintOperator 550

Druckoperatoren können die Druckersteuerung übernehmen.

Replicator 552

Replikationsdienste unterstützen die Replikation von Dateien in einer Domäne.

SystemOperator 549

Systemoperatoren verwalten einen bestimmten Computer.

User 545

Versehentliche oder beabsichtigte systemweite Änderungen durch Benutzer sind nicht möglich. Somit können Benutzer zertifizierte Anwendungen ausführen, jedoch nur wenige ältere Anwendungen.

Beispiele

Das folgende Beispiel zeigt die Verwendung der WindowsBuiltInRole Enumeration.

C#
using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;

class SecurityPrincipalDemo
{
    public static void DemonstrateWindowsBuiltInRoleEnum()
    {
        AppDomain myDomain = Thread.GetDomain();

        myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
        WindowsPrincipal myPrincipal = (WindowsPrincipal)Thread.CurrentPrincipal;
        Console.WriteLine("{0} belongs to: ", myPrincipal.Identity.Name.ToString());
        Array wbirFields = Enum.GetValues(typeof(WindowsBuiltInRole));
        foreach (object roleName in wbirFields)
        {
            try
            {
                // Cast the role name to a RID represented by the WindowsBuildInRole value.
                Console.WriteLine("{0}? {1}.", roleName,
                    myPrincipal.IsInRole((WindowsBuiltInRole)roleName));
                Console.WriteLine("The RID for this role is: " + ((int)roleName).ToString());
            }
            catch (Exception)
            {
                Console.WriteLine("{0}: Could not obtain role for this RID.",
                    roleName);
            }
        }
        // Get the role using the string value of the role.
        Console.WriteLine("{0}? {1}.", "Administrators",
            myPrincipal.IsInRole("BUILTIN\\" + "Administrators"));
        Console.WriteLine("{0}? {1}.", "Users",
            myPrincipal.IsInRole("BUILTIN\\" + "Users"));
        // Get the role using the WindowsBuiltInRole enumeration value.
        Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator,
           myPrincipal.IsInRole(WindowsBuiltInRole.Administrator));
        // Get the role using the WellKnownSidType.
        SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
        Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid));
    }

    public static void Main()
    {
        DemonstrateWindowsBuiltInRoleEnum();
    }
}

Hinweise

Diese Rollen stellen die lokalen Windows-Gruppen dar, die für die meisten Installationen von Windows NT, Windows 2000 und Windows XP üblich sind.

Hinweis

Unter Windows Vista werden die Berechtigungen eines Benutzers über die Benutzerkontensteuerung (User Account Control, UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Wenn Sie versuchen, eine Aufgabe auszuführen, die Administratorrechte erfordert, können Sie Ihre Rolle mithilfe des Dialogfelds Zustimmung dynamisch erhöhen. Der Code, der die IsInRole -Methode ausführt, zeigt das Dialogfeld Zustimmung nicht an. Der Code gibt false zurück, wenn Sie sich in der Standardbenutzerrolle befinden, auch wenn Sie sich in der Gruppe Integrierte Administratoren befinden. Sie können Ihre Berechtigungen erhöhen, bevor Sie den Code ausführen, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie als Administrator ausgeführt werden möchten.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5