WindowsBuiltInRole WindowsBuiltInRole WindowsBuiltInRole WindowsBuiltInRole Enum

Определение

Задает основные роли, используемые в методе IsInRole(String).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
Наследование
WindowsBuiltInRoleWindowsBuiltInRoleWindowsBuiltInRoleWindowsBuiltInRole
Атрибуты

Поля

AccountOperator AccountOperator AccountOperator AccountOperator 548

Операторы учетных записей осуществляют управление учетными записями пользователей на компьютере или в домене.Account operators manage the user accounts on a computer or domain.

Administrator Administrator Administrator Administrator 544

Администраторы обладают полным и неограниченным доступом к компьютеру или домену.Administrators have complete and unrestricted access to the computer or domain.

BackupOperator BackupOperator BackupOperator BackupOperator 551

Операторы архива могут переопределять ограничения по безопасности для конкретных целей (резервное копирование или восстановление файлов).Backup operators can override security restrictions for the sole purpose of backing up or restoring files.

Guest Guest Guest Guest 546

Для пользователей с гостевой учетной записью существует больше ограничений, чем для обычных пользователей.Guests are more restricted than users.

PowerUser PowerUser PowerUser PowerUser 547

Опытным пользователям предоставлено большинство административных прав с некоторыми ограничениями.Power users possess most administrative permissions with some restrictions. Поэтому наряду с сертифицированными приложениями опытные пользователи могут запускать приложения прежних версий.Thus, power users can run legacy applications, in addition to certified applications.

PrintOperator PrintOperator PrintOperator PrintOperator 550

Операторы печати могут управлять принтером.Print operators can take control of a printer.

Replicator Replicator Replicator Replicator 552

Репликаторы поддерживают репликацию файлов в домене.Replicators support file replication in a domain.

SystemOperator SystemOperator SystemOperator SystemOperator 549

Системные операторы управляют определенным компьютером.System operators manage a particular computer.

User User User User 545

Обычным пользователям не разрешено вносить в систему случайные или преднамеренные изменения.Users are prevented from making accidental or intentional system-wide changes. Поэтому обычные пользователи могут запускать только сертифицированные приложения. Запуск большинства приложений прежних версий им запрещен.Thus, users can run certified applications, but not most legacy applications.

Примеры

В следующем примере показано использование WindowsBuiltInRole перечисления.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
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 'DemonstrateWindowsBuiltInRoleEnum

    Public Shared Sub Main()
        DemonstrateWindowsBuiltInRoleEnum()

    End Sub 'Main
End Class 'SecurityPrincipalDemo 

Комментарии

Эти роли представляют локальные группы Windows, общие для большинства установок Windows NT, Windows 2000 и Windows XP.These roles represent the local Windows groups common to most installations of Windows NT, Windows 2000 and Windows XP.

Примечание

В Windows Vista привилегии пользователя определяются контролем учетных записей (UAC).In Windows Vista, User Account Control (UAC) determines the privileges of a user. Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора.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. По умолчанию назначена роль обычного пользователя.By default, you are in the standard user role. При попытке выполнить задачу, для которой требуются административные привилегии, можно динамически повысить уровень своей роли с помощью диалогового окна подтверждения.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. Код, выполняющий IsInRole метод отображает диалоговое окно согласия.The code that executes the IsInRole method does not display the Consent dialog box. Код возвращает значение false, если вам назначена роль обычного пользователя, даже если вы входите в группу администраторов.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Можно повысить свои привилегии, прежде чем выполнять код, щелкнув правой кнопкой мыши значок приложения, указывающее на то, что вы хотите запустить от имени администратора.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.

Применяется к