Freigeben über


WindowsBuiltInRole-Enumeration

Gibt mit IsInRole häufig zu verwendende Rollen an.

Namespace: System.Security.Principal
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration WindowsBuiltInRole
'Usage
Dim instance As WindowsBuiltInRole
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum WindowsBuiltInRole
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum class WindowsBuiltInRole
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum WindowsBuiltInRole
SerializableAttribute 
ComVisibleAttribute(true) 
public enum WindowsBuiltInRole

Member

  Membername Beschreibung
AccountOperator Kontooperatoren verwalten die Benutzerkonten auf einem Computer oder in einer Domäne. 
Administrator Administratoren haben vollständigen und uneingeschränkten Zugriff auf den Computer oder die Domäne. 
BackupOperator Backupoperatoren können Sicherheitsbeschränkungen lediglich für das Sichern oder Wiederherstellen von Dateien überschreiben. 
Guest Für Gäste gelten umfassendere Einschränkungen als für Benutzer. 
PowerUser Hauptbenutzer verfügen über die umfassendsten Administratorberechtigungen mit einigen Einschränkungen. Daher können Hauptbenutzer neben zertifizierten Anwendungen auch ältere Anwendungen ausführen. 
PrintOperator Druckoperatoren können die Druckersteuerung übernehmen. 
Replicator Replikationsdienste unterstützen die Replikation von Dateien in einer Domäne. 
SystemOperator Systemoperatoren verwalten einen bestimmten Computer. 
User Versehentliche oder beabsichtigte systemweite Änderungen durch Benutzer sind nicht möglich. Somit können Benutzer zertifizierte Anwendungen ausführen, jedoch nur wenige ältere Anwendungen. 

Hinweise

Diese Rollen stellen die lokalen Windows-Gruppen dar, die in den meisten Windows NT-, Windows 2000- und Windows XP-Installationen verwendet werden.

Beispiel

Im folgenden Beispiel wird die Verwendung der WindowsBuiltInRole-Klasse veranschaulicht.

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

         Console.WriteLine("{0}? {1}.", roleName, _
                           myPrincipal.IsInRole(CType(roleName, WindowsBuiltInRole)))

      Catch

     Console.WriteLine("{0}: Could not obtain the role for this RID.", roleName)

      End Try
   Next roleName

End Sub 'DemonstrateWindowsBuiltInRoleEnum
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
        {
            Console.WriteLine("{0}? {1}.", roleName,
                myPrincipal.IsInRole((WindowsBuiltInRole)roleName));
        } 
        catch (Exception)
        {
            Console.WriteLine("{0}: Could not obtain role for this RID.",
                roleName);
        }
    }        

}
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 );
         }
      }
   }
public static void DemonstrateWindowsBuiltInRoleEnum()
{
    AppDomain myDomain = Thread.GetDomain();

    myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);

    WindowsPrincipal myPrincipal = ((WindowsPrincipal)
        (Thread.get_CurrentPrincipal()));

    Console.WriteLine("{0} belongs to: ",
        myPrincipal.get_Identity().get_Name().ToString());

    Array wbirFields = Enum.GetValues(WindowsBuiltInRole.class.ToType());

    for (int iCtr = 0; iCtr < wbirFields.get_Count(); iCtr++) {
        Object roleName = wbirFields.get_Item(iCtr);
        try {
            Console.WriteLine("{0}? {1}.", roleName, 
            System.Convert.ToString(myPrincipal.
            IsInRole(((WindowsBuiltInRole)(roleName)))));
        }
        catch (System.Exception exp) {
            Console.WriteLine(
                "{0}: Could not obtain role for this RID.", roleName);
        }
    }
} //DemonstrateWindowsBuiltInRoleEnum

Plattformen

Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

System.Security.Principal-Namespace