WindowsBuiltInRole Sabit listesi

Tanım

ile IsInRole(String)kullanılacak ortak rolleri belirtir.

public enum class WindowsBuiltInRole
public enum WindowsBuiltInRole
[System.Serializable]
public enum WindowsBuiltInRole
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum WindowsBuiltInRole
type WindowsBuiltInRole = 
[<System.Serializable>]
type WindowsBuiltInRole = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type WindowsBuiltInRole = 
Public Enum WindowsBuiltInRole
Devralma
WindowsBuiltInRole
Öznitelikler

Alanlar

AccountOperator 548

Hesap işleçleri, bir bilgisayar veya etki alanındaki kullanıcı hesaplarını yönetir.

Administrator 544

Yöneticilerin bilgisayara veya etki alanına tam ve sınırsız erişimi vardır.

BackupOperator 551

Yedekleme işleçleri, yalnızca dosyaları yedekleme veya geri yükleme amacıyla güvenlik kısıtlamalarını geçersiz kılabilir.

Guest 546

Konuklar kullanıcılardan daha kısıtlıdır.

PowerUser 547

İleri düzey kullanıcılar bazı kısıtlamalarla çoğu yönetim iznine sahiptir. Bu nedenle, yetkili kullanıcılar sertifikalı uygulamalara ek olarak eski uygulamaları da çalıştırabilir.

PrintOperator 550

Yazdırma işleçleri yazıcının denetimini alabilir.

Replicator 552

Çoğaltıcılar bir etki alanında dosya çoğaltmayı destekler.

SystemOperator 549

Sistem işleçleri belirli bir bilgisayarı yönetir.

User 545

Kullanıcıların yanlışlıkla veya kasıtlı olarak sistem genelinde değişiklik yapması engellenir. Bu nedenle, kullanıcılar sertifikalı uygulamalar çalıştırabilir, ancak çoğu eski uygulamayı çalıştıramayabilir.

Örnekler

Aşağıdaki örnekte numaralandırmanın WindowsBuiltInRole kullanımı gösterilmektedir.

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

Açıklamalar

Bu roller Windows NT, Windows 2000 ve Windows XP'nin çoğu yüklemesinde ortak olan yerel Windows gruplarını temsil eder.

Not

Windows Vista'da Kullanıcı Hesabı Denetimi (UAC), bir kullanıcının ayrıcalıklarını belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Yönetim ayrıcalıkları gerektiren bir görevi gerçekleştirmeye çalıştığınızda, Onay iletişim kutusunu kullanarak rolünüzü dinamik olarak yükseltebilirsiniz. Yöntemini yürüten IsInRole kod, Onay iletişim kutusunu görüntülemez. Yerleşik Yöneticiler grubunda olsanız bile standart kullanıcı rolündeyseniz kod false döndürür. Kodu yürütmeden önce uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek ayrıcalıklarınızı yükseltebilirsiniz.

Şunlara uygulanır