WindowsPrincipal.IsInRoleとは? わかりやすく解説

WindowsPrincipal.IsInRole メソッド (WindowsBuiltInRole)

現在のプリンシパルが、指定した WindowsBuiltInRoleWindows ユーザー グループ属しているかどうか確認します

名前空間: System.Security.Principal
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Overridable Function
 IsInRole ( _
    role As WindowsBuiltInRole _
) As Boolean
Dim instance As WindowsPrincipal
Dim role As WindowsBuiltInRole
Dim returnValue As Boolean

returnValue = instance.IsInRole(role)
public virtual bool IsInRole (
    WindowsBuiltInRole role
)
public:
virtual bool IsInRole (
    WindowsBuiltInRole role
)
public boolean IsInRole (
    WindowsBuiltInRole role
)
public function IsInRole (
    role : WindowsBuiltInRole
) : boolean

パラメータ

role

WindowsBuiltInRole 値の 1 つ

戻り値
現在のプリンシパルが、指定した Windows ユーザー グループメンバである場合trueそれ以外場合false

例外例外
例外種類条件

ArgumentException

role有効な WindowsBuiltInRole 値ではありません。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WindowsPrincipal クラス
WindowsPrincipal メンバ
System.Security.Principal 名前空間

WindowsPrincipal.IsInRole メソッド (Int32)

現在のプリンシパルが、指定した相対識別子 (RID) の Windows ユーザー グループ属しているかどうか確認します

名前空間: System.Security.Principal
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

新しユーザー新しグループなど、新しく作成されロール情報テストする場合は、ドメイン内でのロール情報反映強制するために、ログアウトログインを行うことが重要です。これを行わない場合、IsInRole テスト実行するfalse返されることがあります

メモメモ

パフォーマンス上の理由から、ユーザーロール決定するのに適したオーバーロードとして、IsInRole(SecurityIdentifier) オーバーロードお勧めます。

メモ重要 :

IsInRole メソッドは、Windows 98 および Windows Millennium Edition では結果返しません。

相対識別子 (RID) は、Windows ユーザー グループセキュリティ識別子 (SID) のコンポーネントであり、プラットフォーム間のローカリゼーション問題回避するためにサポートされています。多数ユーザー アカウントローカル グループ、およびグローバル グループは、Windowsすべてのバージョン一定である既定RID 値を持ってます。

たとえば、BUILTIN\Administrators ロールRID は 0x220 です。0x220 を IsInRole メソッド入力パラメータとして使用すると、現在のプリンシパル管理者である場合true返されます。

次の表に、既定RID 値を示します

組み込みローカル グループ

RID

BUILTIN\Administrators

0x220

BUILTIN\Users

0x221

BUILTIN\Guests

0x222

BUILTIN\Account Operators

0x224

BUILTIN\Server Operators

0x225

BUILTIN\Print Operators

0x226

BUILTIN\Backup Operators

0x227

BUILTIN\Replicator

0x228

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WindowsPrincipal クラス
WindowsPrincipal メンバ
System.Security.Principal 名前空間

WindowsPrincipal.IsInRole メソッド (String)

現在のプリンシパルが、指定した名前の Windows ユーザー グループ属しているかどうか確認します

名前空間: System.Security.Principal
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

新しユーザー新しグループなど、新しく作成されロール情報テストする場合は、ドメイン内でのロール情報反映強制するために、ログアウトログインを行うことが重要です。これを行わない場合、IsInRole テスト実行するfalse返されることがあります

メモメモ

パフォーマンス上の理由から、ユーザーロール決定するのに適したオーバーロードとして、IsInRole(SecurityIdentifier) オーバーロードお勧めます。

メモ重要 :

IsInRole メソッドは、Windows 98 および Windows Millennium Edition では結果返しません。

組み込みロール場合は、role 文字列を "BUILTIN\RoleNameHere" の形式にする必要があります。たとえば、Windows管理者ロールメンバシップ調べるには、ロールを表す文字列を "BUILTIN\Administrators" にする必要があります円記号は、必要に応じてエスケープします。

コンピュータ固有のロール場合は、role 文字列を "MACHINENAME\RoleNameHere" の形式にする必要があります

メモメモ

   コンピュータではなくドメイン名によるロール修飾無効です。ロールは、現在のプリンシパルドメインに対してのみ決定できます

使用例使用例

組み込みロールを表す文字列を使用してIsInRole呼び出す方法次の例に示します

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
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WindowsPrincipal クラス
WindowsPrincipal メンバ
System.Security.Principal 名前空間

WindowsPrincipal.IsInRole メソッド


WindowsPrincipal.IsInRole メソッド (SecurityIdentifier)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

現在のプリンシパルが、指定したセキュリティ識別子 (SID) で Windows ユーザー グループ属しているかどうか確認します

名前空間: System.Security.Principal
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
例外種類条件

ArgumentNullException

sidnull 参照 (Visual Basic では Nothing) です。

SecurityException

WindowsWin32 エラー返します

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WindowsPrincipal クラス
WindowsPrincipal メンバ
System.Security.Principal 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「WindowsPrincipal.IsInRole」の関連用語

WindowsPrincipal.IsInRoleのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WindowsPrincipal.IsInRoleのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS