WindowsPrincipal.IsInRole Método

Definición

Determina si la entidad de seguridad actual pertenece a un grupo de usuarios de Windows especificado.Determines whether the current principal belongs to a specified Windows user group.

Sobrecargas

IsInRole(Int32)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador relativo (RID) especificado.Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

IsInRole(SecurityIdentifier)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador de seguridad (SID) especificado.Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

IsInRole(WindowsBuiltInRole)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el WindowsBuiltInRole especificado.Determines whether the current principal belongs to the Windows user group with the specified WindowsBuiltInRole.

IsInRole(String)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el nombre especificado.Determines whether the current principal belongs to the Windows user group with the specified name.

Comentarios

Hay cuatro sobrecargas para este método.There are four overloads for this method. Por motivos de rendimiento, se recomienda encarecidamente la sobrecarga de IsInRole(SecurityIdentifier).For performance reasons, the IsInRole(SecurityIdentifier) overload is strongly recommended.

Importante

El método IsInRole no se admite en Windows 98 o Windows Millennium Edition.The IsInRole method is not supported on Windows 98 or Windows Millennium Edition.

IsInRole(Int32)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador relativo (RID) especificado.Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

public:
 virtual bool IsInRole(int rid);
public virtual bool IsInRole (int rid);
override this.IsInRole : int -> bool
abstract member IsInRole : int -> bool
override this.IsInRole : int -> bool
Public Overridable Function IsInRole (rid As Integer) As Boolean

Parámetros

rid
Int32

RID del grupo de usuarios de Windows en el que se va a comprobar el estado de pertenencia de la entidad de seguridad.The RID of the Windows user group in which to check for the principal's membership status.

Devoluciones

Boolean

true si la entidad de seguridad actual es miembro del grupo de usuarios de Windows especificado, es decir, está en un rol concreto; en caso contrario, false.true if the current principal is a member of the specified Windows user group, that is, in a particular role; otherwise, false.

Ejemplos

En el ejemplo de código siguiente se muestra el uso de los métodos IsInRole.The following code example demonstrates the use of the IsInRole methods. La enumeración WindowsBuiltInRole se utiliza como el origen de los RID que identifican los roles integrados.The WindowsBuiltInRole enumeration is used as the source for the RIDs that identify the built-in roles. Los RID se usan para determinar los roles de la entidad de seguridad actual.The RIDs are used to determine the roles of the current principal.

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

Comentarios

Al probar la información de los roles recién creados, como un nuevo usuario o un grupo nuevo, es importante cerrar sesión e iniciar sesión para forzar la propagación de la información de roles dentro del dominio.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. No hacerlo puede hacer que la prueba de IsInRole devuelva false.Not doing so can cause the IsInRole test to return false. No se admite este método en Windows 98 ni en Windows Millennium.This method is not supported on Windows 98 or Windows Millennium Edition.

Por motivos de rendimiento, se recomienda usar la sobrecarga IsInRole(SecurityIdentifier) como sobrecarga preferible para determinar el rol del usuario.For performance reasons, the IsInRole(SecurityIdentifier) overload is recommended as the preferable overload for determining the user's role.

Nota

En Windows Vista, el control de cuentas de usuario (UAC) determina los privilegios de un usuario.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador.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. De forma predeterminada, se le asignará el rol de usuario estándar.By default, you are in the standard user role. Al intentar realizar una tarea que requiere privilegios administrativos, puede elevar dinámicamente el rol mediante el cuadro de diálogo de consentimiento.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. El código que ejecuta el método de IsInRole no muestra el cuadro de diálogo de consentimiento.The code that executes the IsInRole method does not display the Consent dialog box. El código devuelve false si está en el rol de usuario estándar, aunque esté en el grupo de administradores integrado.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Puede elevar sus privilegios antes de ejecutar el código haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutar como administrador.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.

Los identificadores relativos (RID) son componentes de un identificador de seguridad (SID) del grupo de usuarios de Windows y se admiten para evitar problemas de localización entre plataformas.Relative identifiers (RIDs) are components of a Windows user group's security identifier (SID) and are supported to help prevent cross-platform localization issues. Muchas de las cuentas de usuario, los grupos locales y los grupos globales tienen un valor RID predeterminado que es constante en todas las versiones de Windows.Many user accounts, local groups, and global groups have a default RID value that is constant across all versions of Windows.

Por ejemplo, el RID del rol BUILTIN\Administrators es 0x220.For example, the RID for the BUILTIN\Administrators role is 0x220. El uso de 0x220 como parámetro de entrada para el método IsInRole da lugar a que se devuelva true si la entidad de seguridad actual es un administrador.Using 0x220 as the input parameter for the IsInRole method results in true being returned if the current principal is an administrator.

En las tablas siguientes se enumeran los valores de RID predeterminados.The following tables list the default RID values.

Usuarios integradosBuilt-in users RIDRID
DOMAINNAME\AdministratorDOMAINNAME\Administrator 0x1F40x1F4
DOMAINNAME\GuestDOMAINNAME\Guest 0x1F50x1F5
Grupos globales integradosBuilt-in global groups RIDRID
Administradores de DOMAINNAME\DomainDOMAINNAME\Domain Admins 0x2000x200
Usuarios de DOMAINNAME\DomainDOMAINNAME\Domain Users 0x2010x201
Invitados de DOMAINNAME\DomainDOMAINNAME\Domain Guests 0x2020x202
Grupos locales integradosBuilt-in local groups RIDRID
BUILTIN\AdministratorsBUILTIN\Administrators 0x2200x220
BUILTIN\UsersBUILTIN\Users 0x2210x221
BUILTIN\GuestsBUILTIN\Guests 0x2220x222
Operadores BUILTIN\AccountBUILTIN\Account Operators 0x2240x224
BUILTIN\Operadores de servidoresBUILTIN\Server Operators 0x2250x225
Operadores BUILTIN\PrintBUILTIN\Print Operators 0x2260x226
BUILTIN\Operadores de copia de seguridadBUILTIN\Backup Operators 0x2270x227
BUILTIN\ReplicatorBUILTIN\Replicator 0x2280x228

IsInRole(SecurityIdentifier)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador de seguridad (SID) especificado.Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

public:
 virtual bool IsInRole(System::Security::Principal::SecurityIdentifier ^ sid);
public virtual bool IsInRole (System.Security.Principal.SecurityIdentifier sid);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual bool IsInRole (System.Security.Principal.SecurityIdentifier sid);
override this.IsInRole : System.Security.Principal.SecurityIdentifier -> bool
abstract member IsInRole : System.Security.Principal.SecurityIdentifier -> bool
override this.IsInRole : System.Security.Principal.SecurityIdentifier -> bool
Public Overridable Function IsInRole (sid As SecurityIdentifier) As Boolean

Parámetros

sid
SecurityIdentifier

SecurityIdentifier que identifica un grupo de usuarios de Windows de forma única.A SecurityIdentifier that uniquely identifies a Windows user group.

Devoluciones

Boolean

Es true si la entidad de seguridad actual es un miembro del grupo de usuarios de Windows especificado; en caso contrario, es false.true if the current principal is a member of the specified Windows user group; otherwise, false.

Atributos

Excepciones

sid es null.sid is null.

Windows devolvió un error de Win32.Windows returned a Win32 error.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del método WindowsPrincipal.IsInRole(SecurityIdentifier).The following code example demonstrates the use of the WindowsPrincipal.IsInRole(SecurityIdentifier) method. El valor de enumeración BuiltinAdministratorsSid se usa para determinar si la entidad de seguridad actual es un administrador.The BuiltinAdministratorsSid enumeration value is used to determine whether the current principal is an administrator. Para obtener el ejemplo de código completo, vea el método WindowsPrincipal.IsInRole(Int32).For the full code example, see the WindowsPrincipal.IsInRole(Int32) method.

// Get the role using the WellKnownSidType.
SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid));
    ' 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

Comentarios

El SecurityIdentifier identifica de forma única a un usuario o grupo en implementaciones de Windows 2000, Windows Server y Windows XP.The SecurityIdentifier uniquely identifies a user or group on Windows 2000, Windows Server, and Windows XP implementations. Al probar la información de los roles recién creados, como un nuevo usuario o un grupo nuevo, es importante cerrar sesión e iniciar sesión para forzar la propagación de la información de roles dentro del dominio.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. No hacerlo puede hacer que la prueba de IsInRole devuelva false.Not doing so can cause the IsInRole test to return false. No se admite este método en Windows 98 ni en Windows Millennium.This method is not supported on Windows 98 or Windows Millennium Edition.

Nota

En Windows Vista, el control de cuentas de usuario (UAC) determina los privilegios de un usuario.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador.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. De forma predeterminada, se le asignará el rol de usuario estándar.By default, you are in the standard user role. Al intentar realizar una tarea que requiere privilegios administrativos, puede elevar dinámicamente el rol mediante el cuadro de diálogo de consentimiento.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. El código que ejecuta el método de IsInRole no muestra el cuadro de diálogo de consentimiento.The code that executes the IsInRole method does not display the Consent dialog box. El código devuelve false si está en el rol de usuario estándar, aunque esté en el grupo de administradores integrado.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Puede elevar sus privilegios antes de ejecutar el código haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutar como administrador.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.

Por motivos de rendimiento, esta es la sobrecarga preferible para determinar el rol de un usuario.For performance reasons, this is the preferable overload to determine a user's role.

IsInRole(WindowsBuiltInRole)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el WindowsBuiltInRole especificado.Determines whether the current principal belongs to the Windows user group with the specified WindowsBuiltInRole.

public:
 virtual bool IsInRole(System::Security::Principal::WindowsBuiltInRole role);
public virtual bool IsInRole (System.Security.Principal.WindowsBuiltInRole role);
override this.IsInRole : System.Security.Principal.WindowsBuiltInRole -> bool
abstract member IsInRole : System.Security.Principal.WindowsBuiltInRole -> bool
override this.IsInRole : System.Security.Principal.WindowsBuiltInRole -> bool
Public Overridable Function IsInRole (role As WindowsBuiltInRole) As Boolean

Parámetros

role
WindowsBuiltInRole

Uno de los valores de WindowsBuiltInRole.One of the WindowsBuiltInRole values.

Devoluciones

Boolean

Es true si la entidad de seguridad actual es un miembro del grupo de usuarios de Windows especificado; en caso contrario, es false.true if the current principal is a member of the specified Windows user group; otherwise, false.

Excepciones

role no es un valor WindowsBuiltInRole válido.role is not a valid WindowsBuiltInRole value.

Ejemplos

En el ejemplo siguiente se usa la enumeración WindowsBuiltInRole se usa para determinar si la entidad de seguridad actual es un Administrator.The following example uses the WindowsBuiltInRole enumeration is used to determine whether the current principal is an Administrator. Para obtener el ejemplo de código completo, vea el método WindowsPrincipal.IsInRole(Int32).For the full code example, see the WindowsPrincipal.IsInRole(Int32) method.

// Get the role using the WindowsBuiltInRole enumeration value.
Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator,
   myPrincipal.IsInRole(WindowsBuiltInRole.Administrator));
' Get the role using the WindowsBuiltInRole enumeration value.
Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator, myPrincipal.IsInRole(WindowsBuiltInRole.Administrator))

Comentarios

Al probar la información de los roles recién creados, como un nuevo usuario o un grupo nuevo, es importante cerrar sesión e iniciar sesión para forzar la propagación de la información de roles dentro del dominio.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. No hacerlo puede hacer que la prueba de IsInRole devuelva false.Not doing so can cause the IsInRole test to return false. No se admite este método en Windows 98 ni en Windows Millennium.This method is not supported on Windows 98 or Windows Millennium Edition.

Por motivos de rendimiento, se recomienda usar la sobrecarga IsInRole(SecurityIdentifier) como sobrecarga preferible para determinar el rol del usuario.For performance reasons, the IsInRole(SecurityIdentifier) overload is recommended as the preferable overload for determining the user's role.

Nota

En Windows Vista, el control de cuentas de usuario (UAC) determina los privilegios de un usuario.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador.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. De forma predeterminada, se le asignará el rol de usuario estándar.By default, you are in the standard user role. Al intentar realizar una tarea que requiere privilegios administrativos, puede elevar dinámicamente el rol mediante el cuadro de diálogo de consentimiento.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. El código que ejecuta el método de IsInRole no muestra el cuadro de diálogo de consentimiento.The code that executes the IsInRole method does not display the Consent dialog box. El código devuelve false si está en el rol de usuario estándar, aunque esté en el grupo de administradores integrado.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Puede elevar sus privilegios antes de ejecutar el código haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutar como administrador.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.

IsInRole(String)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el nombre especificado.Determines whether the current principal belongs to the Windows user group with the specified name.

public:
 override bool IsInRole(System::String ^ role);
public:
 virtual bool IsInRole(System::String ^ role);
public override bool IsInRole (string role);
public virtual bool IsInRole (string role);
override this.IsInRole : string -> bool
abstract member IsInRole : string -> bool
override this.IsInRole : string -> bool
Public Overrides Function IsInRole (role As String) As Boolean
Public Overridable Function IsInRole (role As String) As Boolean

Parámetros

role
String

Nombre de Windows cuya condición de pertenencia se va a comprobar.The name of the Windows user group for which to check membership.

Devoluciones

Boolean

Es true si la entidad de seguridad actual es un miembro del grupo de usuarios de Windows especificado; en caso contrario, es false.true if the current principal is a member of the specified Windows user group; otherwise, false.

Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra el uso del método WindowsPrincipal.IsInRole(String).The following code example demonstrates the use of the WindowsPrincipal.IsInRole(String) method.

Las cadenas BUILTIN\Administrators y BUILTIN\Users se usan para determinar si la entidad de seguridad actual es un administrador o un usuario.The strings BUILTIN\Administrators and BUILTIN\Users are used to determine whether the current principal is an administrator or a user. Para obtener el ejemplo de código completo, vea el método WindowsPrincipal.IsInRole(Int32).For the full code example, see the WindowsPrincipal.IsInRole(Int32) method.

// 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 string value of the role.
Console.WriteLine("{0}? {1}.", "Administrators", myPrincipal.IsInRole("BUILTIN\" + "Administrators"))
Console.WriteLine("{0}? {1}.", "Users", myPrincipal.IsInRole("BUILTIN\" + "Users"))

Comentarios

Al probar la información de los roles recién creados, como un nuevo usuario o un grupo nuevo, es importante cerrar sesión e iniciar sesión para forzar la propagación de la información de roles dentro del dominio.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. No hacerlo puede hacer que la prueba de IsInRole devuelva false.Not doing so can cause the IsInRole test to return false. No se admite este método en Windows 98 ni en Windows Millennium.This method is not supported on Windows 98 or Windows Millennium Edition.

Por motivos de rendimiento, se recomienda usar la sobrecarga IsInRole(SecurityIdentifier) como sobrecarga preferible para determinar el rol del usuario.For performance reasons, the IsInRole(SecurityIdentifier) overload is recommended as the preferable overload for determining the user's role.

Nota

En Windows Vista, el control de cuentas de usuario (UAC) determina los privilegios de un usuario.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador.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. De forma predeterminada, se le asignará el rol de usuario estándar.By default, you are in the standard user role. Al intentar realizar una tarea que requiere privilegios administrativos, puede elevar dinámicamente el rol mediante el cuadro de diálogo de consentimiento.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. El código que ejecuta el método de IsInRole no muestra el cuadro de diálogo de consentimiento.The code that executes the IsInRole method does not display the Consent dialog box. El código devuelve false si está en el rol de usuario estándar, aunque esté en el grupo de administradores integrado.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Puede elevar sus privilegios antes de ejecutar el código haciendo clic con el botón secundario en el icono de la aplicación e indicando que desea ejecutar como administrador.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.

En el caso de los roles integrados, el role cadena debe tener el formato "Builtin\RoleNameHere".For built-in roles, the role string should be in the form "BUILTIN\RoleNameHere". Por ejemplo, para comprobar la pertenencia al rol de administrador de Windows, la cadena que representa el rol debe ser "BUILTIN\Administrators".For example, to test for membership in the Windows administrator role, the string representing the role should be "BUILTIN\Administrators". Tenga en cuenta que es posible que sea necesario usar el carácter de escape para la barra diagonal inversa.Note that the backslash might need to be escaped. En la tabla siguiente se enumeran los roles integrados.The following table lists the built-in roles.

Nota

La ortografía de los roles Builtin en formato de cadena difiere de la utilizada en la enumeración WindowsBuiltInRole.The spelling for the BUILTIN roles in string format differs from the spelling used in the WindowsBuiltInRole enumeration. Por ejemplo, la ortografía de un administrador en la enumeración es "administrador", no "administradores".For example, the spelling for an administrator in the enumeration is "Administrator", not "Administrators". Al utilizar esta sobrecarga, utilice la ortografía del rol de la tabla siguiente.When using this overload, use the spelling for the role from the following table.

Grupos locales integradosBuilt-in local groups
BUILTIN\AdministratorsBUILTIN\Administrators
BUILTIN\UsersBUILTIN\Users
BUILTIN\GuestsBUILTIN\Guests
Operadores BUILTIN\AccountBUILTIN\Account Operators
BUILTIN\Operadores de servidoresBUILTIN\Server Operators
Operadores BUILTIN\PrintBUILTIN\Print Operators
BUILTIN\Operadores de copia de seguridadBUILTIN\Backup Operators
BUILTIN\ReplicatorBUILTIN\Replicator

En el caso de los roles específicos del equipo, la cadena de role debe tener el formato "MachineName\RoleNameHere".For machine-specific roles, the role string should be in the form "MachineName\RoleNameHere".

En el caso de los roles específicos de dominio, la cadena de role debe tener el formato "DomainName\RoleNameHere"; por ejemplo, "SomeDomain\Domain Users".For domain-specific roles, the role string should be in the form "DomainName\RoleNameHere"; for example, "SomeDomain\Domain Users".

Nota

En la .NET Framework versión 1,0, el parámetro role distingue entre mayúsculas y minúsculas.In the .NET Framework version 1.0, the role parameter is case-sensitive. En la .NET Framework versión 1,1 y versiones posteriores, el parámetro role no distingue entre mayúsculas y minúsculas.In the .NET Framework version 1.1 and later, the role parameter is case-insensitive.

Consulte también:

Se aplica a