WindowsBuiltInRole WindowsBuiltInRole WindowsBuiltInRole WindowsBuiltInRole Enum

Definition

Gibt allgemeine Rollen an, die mit IsInRole(String) verwendet werden.Specifies common roles to be used with IsInRole(String).

public enum class WindowsBuiltInRole
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum WindowsBuiltInRole
type WindowsBuiltInRole = 
Public Enum WindowsBuiltInRole
Vererbung
WindowsBuiltInRoleWindowsBuiltInRoleWindowsBuiltInRoleWindowsBuiltInRole
Attribute

Felder

AccountOperator AccountOperator AccountOperator AccountOperator 548

Kontooperatoren verwalten die Benutzerkonten auf einem Computer oder in einer Domäne.Account operators manage the user accounts on a computer or domain.

Administrator Administrator Administrator Administrator 544

Administratoren haben vollständigen und uneingeschränkten Zugriff auf den Computer oder die Domäne.Administrators have complete and unrestricted access to the computer or domain.

BackupOperator BackupOperator BackupOperator BackupOperator 551

Backupoperatoren können Sicherheitsbeschränkungen lediglich für das Sichern oder Wiederherstellen von Dateien überschreiben.Backup operators can override security restrictions for the sole purpose of backing up or restoring files.

Guest Guest Guest Guest 546

Für Gäste gelten umfassendere Einschränkungen als für Benutzer.Guests are more restricted than users.

PowerUser PowerUser PowerUser PowerUser 547

Hauptbenutzer verfügen über die umfassendsten Administratorberechtigungen mit einigen Einschränkungen.Power users possess most administrative permissions with some restrictions. Daher können Hauptbenutzer neben zertifizierten Anwendungen auch ältere Anwendungen ausführen.Thus, power users can run legacy applications, in addition to certified applications.

PrintOperator PrintOperator PrintOperator PrintOperator 550

Druckoperatoren können die Druckersteuerung übernehmen.Print operators can take control of a printer.

Replicator Replicator Replicator Replicator 552

Replikationsdienste unterstützen die Replikation von Dateien in einer Domäne.Replicators support file replication in a domain.

SystemOperator SystemOperator SystemOperator SystemOperator 549

Systemoperatoren verwalten einen bestimmten Computer.System operators manage a particular computer.

User User User User 545

Versehentliche oder beabsichtigte systemweite Änderungen durch Benutzer sind nicht möglich.Users are prevented from making accidental or intentional system-wide changes. Somit können Benutzer zertifizierte Anwendungen ausführen, jedoch nur wenige ältere Anwendungen.Thus, users can run certified applications, but not most legacy applications.

Beispiele

Das folgende Beispiel zeigt die Verwendung WindowsBuiltInRole der-Enumeration.The following example shows the use of the WindowsBuiltInRole enumeration.

public:
   static void DemonstrateWindowsBuiltInRoleEnum()
   {
      AppDomain^ myDomain = Thread::GetDomain();

      myDomain->SetPrincipalPolicy( PrincipalPolicy::WindowsPrincipal );
      WindowsPrincipal^ myPrincipal = dynamic_cast<WindowsPrincipal^>(Thread::CurrentPrincipal);

      Console::WriteLine( "{0} belongs to: ", myPrincipal->Identity->Name );

      Array^ wbirFields = Enum::GetValues( WindowsBuiltInRole::typeid );

      for each ( Object^ roleName in wbirFields )
      {
         try
         {
            Console::WriteLine( "{0}? {1}.", roleName,
               myPrincipal->IsInRole(  *dynamic_cast<WindowsBuiltInRole^>(roleName) ) );
         }
         catch ( Exception^ ) 
         {
            Console::WriteLine( "{0}: Could not obtain role for this RID.",
               roleName );
         }
      }
   }
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();
    }
}
Imports System.Threading
Imports System.Security.Permissions
Imports System.Security.Principal

Class SecurityPrincipalDemo

    Public Shared Sub DemonstrateWindowsBuiltInRoleEnum()
        Dim myDomain As AppDomain = Thread.GetDomain()

        myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
        Dim myPrincipal As WindowsPrincipal = CType(Thread.CurrentPrincipal, WindowsPrincipal)
        Console.WriteLine("{0} belongs to: ", myPrincipal.Identity.Name.ToString())
        Dim wbirFields As Array = [Enum].GetValues(GetType(WindowsBuiltInRole))
        Dim roleName As Object
        For Each roleName In wbirFields
            Try
                ' Cast the role name to a RID represented by the WindowsBuildInRole value.
                Console.WriteLine("{0}? {1}.", roleName, myPrincipal.IsInRole(CType(roleName, WindowsBuiltInRole)))
                Console.WriteLine("The RID for this role is: " + Fix(roleName).ToString())

            Catch
                Console.WriteLine("{0}: Could not obtain role for this RID.", roleName)
            End Try
        Next 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.
        Dim sid As New SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, Nothing)
        Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid))

    End Sub

    Public Shared Sub Main()
        DemonstrateWindowsBuiltInRoleEnum()

    End Sub
End Class

Hinweise

Diese Rollen stellen die lokalen Windows-Gruppen dar, die für die meisten Installationen von Windows NT, Windows 2000 und Windows XP gemeinsam sind.These roles represent the local Windows groups common to most installations of Windows NT, Windows 2000 and Windows XP.

Hinweis

Unter Windows Vista werden die Berechtigungen eines Benutzers über die Benutzerkontensteuerung (User Account Control, UAC) bestimmt.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken.If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. Standardmäßig verwenden Sie die Standardbenutzerrolle.By default, you are in the standard user role. Wenn Sie versuchen, eine Aufgabe auszuführen, für die Administratorrechte erforderlich sind, können Sie Ihre Rolle mithilfe des Dialog Felds "Zustimmung" dynamisch erhöhen.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. Der Code, der die IsInRole -Methode ausführt, zeigt das Dialogfeld "Zustimmung" nicht an.The code that executes the IsInRole method does not display the Consent dialog box. Der Code gibt false zurück, wenn Sie sich in der Standardbenutzer Rolle befinden, auch wenn Sie sich in der integrierten Gruppe "Administratoren" befinden.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. 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 ausführen möchten.You can elevate your privileges before you execute the code by right-clicking the application icon and indicating that you want to run as an administrator.

Gilt für: