More Related Content
More from Michio Koyama (19)
所属しているグループをすべて取得する
- 6. 6
.NETで実装するためには
•.NETから Active Directory の色々な情報にアクセスするために
System.DirectoryServices アセンブリを参照する必要がありま
す。
•Active Directory 内のデータにアクセスするために使用される
のは System.DirectoryServices 名前空間で、オブジェクトを
カプセル化する DirectoryEntry クラスやクエリを実行する
DirectorySearcher クラスなどがあります。
•ADSI(Active Directory Services Interfaces)を使用してネイ
ティブなオブジェクトを扱う場合は Active DS Type Libraryを
参照する必要があります。
- 7. 7
どうやって接続するの?
ドメインに接続するには LDAP を使います。
プロバイダ:LDAP(Lightweight Directory Access Protocol)
書式例:LDAP://DC=proceed,DC=pbyk,DC=com
この LDAP の接続文字列を引数にして DirectoryEntry のインス
タンスを作成します。
作成した DirectoryEntry がドメインを表し、検索のルートにな
ります。(DirectorySearcher の引数になります。)
この場合、検索範囲はドメイン全体ということになります。
サンプルアプリはこれとは異なる方法で DirectoryEntry のイン
スタンスを作成しています。
- 8. 検索してユーザーやグループを取得する
• 接続するドメインや取得したユーザーやグループは DirectoryEntry オブ
ジェクト
• ユーザやグループを検索するのは DirectorySearcher オブジェクト
• 検索結果は、1つだけ取得する場合は SearchResult オブジェクト、複数取
得する場合は SearchResultCollection として返される
• SearchResult.GetDirectoryEntry メソッドで DirectoryEntry を取得
• LDAP書式のフィルター文字列(DirectorySearcher.Filter プロパティ)は
次のように指定(属性=値 をカッコで括る)
• "(objectCategory=Group)" -- すべてのグループ
• "(&(objectCategory=User)(sAMAccountName=koyama))"
-- ログオン名が koyamaであるユーザー
• "(&(|(objectCategory=User)(objectCategory=Computer))(primaryGr
oupID=513))"
-- プライマリ グループ IDが 513であるユーザーかコンピューター
8
- 12. 詳細や関連情報はブログ等で
Active Directoryドメインを作ってみよう ~その2:ユーザーやグループの作
成とPCのドメイン参加~
http://www.slideshare.net/mitchin227/create-domainobject
CodePlex に公開したサンプルアプリ(ダウンロード可能です)
https://directoryvb.codeplex.com/SourceControl/latest
https://directorycs.codeplex.com/SourceControl/latest
所属しているすべてのグループを表示する画面
http://blogs.wankuma.com/mitchin/archive/2015/01/04/500492.aspx
所属しているすべてのグループを表示する画面のWindowsアプリのコード
http://blogs.wankuma.com/mitchin/archive/2015/01/06/500555.aspx
http://blogs.wankuma.com/mitchin/archive/2015/01/08/500665.aspx
所属しているすべてのグループを表示する画面のWebアプリのコード
http://blogs.wankuma.com/mitchin/archive/2015/01/10/500707.aspx
http://blogs.wankuma.com/mitchin/archive/2015/01/10/500708.aspx
Active Directory 関連ブログの一覧
http://www.pbyk.com/blog/bloglist.html
12