WindowsBuiltInRole Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u algemene rollen die moeten worden gebruikt met IsInRole(String).
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
- Overname
- Kenmerken
Velden
| Name | Waarde | Description |
|---|---|---|
| Administrator | 544 | Beheerders hebben volledige en onbeperkte toegang tot de computer of het domein. |
| User | 545 | Gebruikers kunnen geen onbedoelde of opzettelijke wijzigingen in het hele systeem aanbrengen. Gebruikers kunnen dus gecertificeerde toepassingen uitvoeren, maar niet de meeste verouderde toepassingen. |
| Guest | 546 | Gasten zijn beperkter dan gebruikers. |
| PowerUser | 547 | Power-gebruikers beschikken over de meeste beheerdersmachtigingen met enkele beperkingen. Energiegebruikers kunnen dus verouderde toepassingen uitvoeren, naast gecertificeerde toepassingen. |
| AccountOperator | 548 | Accountoperators beheren de gebruikersaccounts op een computer of domein. |
| SystemOperator | 549 | Systeembeheerders beheren een bepaalde computer. |
| PrintOperator | 550 | Afdrukoperators kunnen de besturing van een printer overnemen. |
| BackupOperator | 551 | Back-upoperators kunnen beveiligingsbeperkingen overschrijven voor het maken van back-ups of het herstellen van bestanden. |
| Replicator | 552 | Replicators ondersteunen bestandsreplicatie in een domein. |
Voorbeelden
In het volgende voorbeeld ziet u het gebruik van de WindowsBuiltInRole opsomming.
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
Opmerkingen
Deze rollen vertegenwoordigen de lokale Windows groepen die gebruikelijk zijn voor de meeste installaties van Windows NT, Windows 2000 en Windows XP.
Note
In Windows Vista bepaalt UAC (User Account Control) de bevoegdheden van een gebruiker. Als u lid bent van de groep Ingebouwde beheerders, hebt u twee runtime-toegangstokens toegewezen: een standaard toegangstoken voor gebruikers en een beheerderstoegangstoken. Standaard hebt u de standaardgebruikersrol. Wanneer u probeert een taak uit te voeren waarvoor beheerdersbevoegdheden zijn vereist, kunt u uw rol dynamisch uitbreiden met behulp van het dialoogvenster Toestemming. In de code waarmee de IsInRole methode wordt uitgevoerd, wordt het dialoogvenster Toestemming niet weergegeven. De code retourneert onwaar als u zich in de standaardgebruikersrol bevindt, zelfs als u zich in de groep Ingebouwde beheerders bevindt. U kunt uw bevoegdheden verhogen voordat u de code uitvoert door met de rechtermuisknop op het toepassingspictogram te klikken en aan te geven dat u wilt uitvoeren als beheerder.