WindowsBuiltInRole 枚举
指定与 IsInRole 一起使用的公共角色。
**命名空间:**System.Security.Principal
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration WindowsBuiltInRole
用法
Dim instance As WindowsBuiltInRole
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum WindowsBuiltInRole
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum class WindowsBuiltInRole
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public enum WindowsBuiltInRole
SerializableAttribute
ComVisibleAttribute(true)
public enum WindowsBuiltInRole
成员
成员名称 | 说明 | |
---|---|---|
AccountOperator | 帐户操作员管理计算机或域中的用户帐户。 | |
Administrator | 管理员具有对计算机或域的完全的无限制的访问权限。 | |
BackupOperator | 备份操作员仅在出于备份或还原文件目的时才可以重写安全限制。 | |
Guest | 来宾受到比用户更多的限制。 | |
PowerUser | 超级用户具有大部分管理员权限(但也受到某些限制)。因此,高级用户除了可以运行已验证过的应用程序外,还可以运行旧式应用程序。 | |
PrintOperator | 打印操作员可以获得打印机的控制权。 | |
Replicator | 复制程序支持域中的文件复制。 | |
SystemOperator | 系统操作员管理特定的计算机。 | |
User | 用户被阻止进行意外的或有意的系统级更改。因此,用户可以运行已验证过的应用程序,但不能运行大部分旧式应用程序。 |
备注
这些角色表示 Windows NT、Windows 2000 和 Windows XP 的大多数安装所共有的本地 Windows 组。
示例
下面的示例说明 WindowsBuiltInRole 枚举的用法。
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
Console.WriteLine("{0}? {1}.", roleName, _
myPrincipal.IsInRole(CType(roleName, WindowsBuiltInRole)))
Catch
Console.WriteLine("{0}: Could not obtain the role for this RID.", roleName)
End Try
Next roleName
End Sub 'DemonstrateWindowsBuiltInRoleEnum
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
{
Console.WriteLine("{0}? {1}.", roleName,
myPrincipal.IsInRole((WindowsBuiltInRole)roleName));
}
catch (Exception)
{
Console.WriteLine("{0}: Could not obtain role for this RID.",
roleName);
}
}
}
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 );
}
}
}
public static void DemonstrateWindowsBuiltInRoleEnum()
{
AppDomain myDomain = Thread.GetDomain();
myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
WindowsPrincipal myPrincipal = ((WindowsPrincipal)
(Thread.get_CurrentPrincipal()));
Console.WriteLine("{0} belongs to: ",
myPrincipal.get_Identity().get_Name().ToString());
Array wbirFields = Enum.GetValues(WindowsBuiltInRole.class.ToType());
for (int iCtr = 0; iCtr < wbirFields.get_Count(); iCtr++) {
Object roleName = wbirFields.get_Item(iCtr);
try {
Console.WriteLine("{0}? {1}.", roleName,
System.Convert.ToString(myPrincipal.
IsInRole(((WindowsBuiltInRole)(roleName)))));
}
catch (System.Exception exp) {
Console.WriteLine(
"{0}: Could not obtain role for this RID.", roleName);
}
}
} //DemonstrateWindowsBuiltInRoleEnum
平台
Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0