WindowsBuiltInRole WindowsBuiltInRole WindowsBuiltInRole WindowsBuiltInRole Enum

Definizione

Specifica i ruoli comuni da utilizzare con 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
Ereditarietà
WindowsBuiltInRoleWindowsBuiltInRoleWindowsBuiltInRoleWindowsBuiltInRole
Attributi

Campi

AccountOperator AccountOperator AccountOperator AccountOperator 548

Gli operatori di account gestiscono gli account utente su un computer o dominio.Account operators manage the user accounts on a computer or domain.

Administrator Administrator Administrator Administrator 544

Gli utenti del gruppo Administrators hanno accesso completo e senza restrizioni al computer o dominio.Administrators have complete and unrestricted access to the computer or domain.

BackupOperator BackupOperator BackupOperator BackupOperator 551

Al gruppo Backup operators è consentito ignorare le restrizioni di sicurezza per l'esecuzione delle sole operazioni di backup e ripristino di file.Backup operators can override security restrictions for the sole purpose of backing up or restoring files.

Guest Guest Guest Guest 546

Il gruppo Guests è vincolato da maggiori restrizioni rispetto al gruppo Users.Guests are more restricted than users.

PowerUser PowerUser PowerUser PowerUser 547

Gli utenti esperti dispongono di quasi tutte le autorizzazioni amministrative con alcune restrizioni ePower users possess most administrative permissions with some restrictions. Gli utenti del gruppo Power users possono perciò eseguire applicazioni legacy, oltre ad applicazioni certificate.Thus, power users can run legacy applications, in addition to certified applications.

PrintOperator PrintOperator PrintOperator PrintOperator 550

Gli operatori di stampa possono controllare una stampante.Print operators can take control of a printer.

Replicator Replicator Replicator Replicator 552

Il gruppo Replicators supporta la replica di file in un dominio.Replicators support file replication in a domain.

SystemOperator SystemOperator SystemOperator SystemOperator 549

Il gruppo System operators gestisce un computer specifico.System operators manage a particular computer.

User User User User 545

Gli utenti possono eseguire le applicazioni certificate, ma non quelle legacy,Users are prevented from making accidental or intentional system-wide changes. Gli utenti di questo gruppo, pertanto, possono eseguire applicazioni certificate, ma non la maggior parte delle applicazioni legacy.Thus, users can run certified applications, but not most legacy applications.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo dell' WindowsBuiltInRole enumerazione.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

Commenti

Questi ruoli rappresentano i gruppi di Windows locali comuni alla maggior parte delle installazioni di Windows NT, Windows 2000 e Windows XP.These roles represent the local Windows groups common to most installations of Windows NT, Windows 2000 and Windows XP.

Nota

In Windows Vista, la funzionalità Controllo dell'account utente determina i privilegi di un utente.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Ai membri del gruppo Administrators predefinito vengono assegnati due token di accesso in fase di esecuzione, ovvero un token di accesso utente standard e un token di accesso amministratore.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. Per impostazione predefinita, viene assegnato il ruolo dell'utente standard.By default, you are in the standard user role. Quando si tenta di eseguire un'attività che richiede privilegi amministrativi, è possibile elevare dinamicamente il ruolo utilizzando la finestra di dialogo di consenso.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. Il codice che esegue il IsInRole metodo non Visualizza la finestra di dialogo di consenso.The code that executes the IsInRole method does not display the Consent dialog box. Il codice restituisce false se ci si trova nel ruolo utente standard, anche se si fa parte del gruppo Administrators predefinito.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. È possibile elevare i privilegi prima di eseguire il codice facendo clic con il pulsante destro del mouse sull'icona dell'applicazione e indicando che si desidera eseguire come amministratore.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.

Si applica a