More Related Content
Similar to .NETからActive Directoryにアクセス
Similar to .NETからActive Directoryにアクセス (20)
More from Michio Koyama (15)
.NETからActive Directoryにアクセス
- 4. サンプルアプリケーション
4
開発環境
• OS:Windows7(x64)
• IDE:Visual Studio 2010 SP1
• アプリ:Windows フォーム(.NET 4 Client Profile)
Web フォーム(.NET 4)
クラスライブラリ(.NET 4 Client Profile)
実行環境
• 単一ドメイン、単一サイト、単一サブネット
• サーバ:Windows Server 2008 Standard SP1 (.NET 4)
• クライアント:Windows XP SP3 (.NET 4 Client Profile)
• IIS:Windows 認証
- 17. 17
Domain オブジェクトの取得方法
クラスライブラリ側に Active Directory のオブジェクトにアクセスするため
の静的メソッド・プロパティを提供する DirectoryAccess クラスを作成して、
そこに Domain オブジェクトを取得するメソッドを追加します。
VB
Public Shared Function GetDomain() As Domain
Return Domain.GetComputerDomain()
End Function
C#
public static Domain GetDomain()
{
return Domain.GetComputerDomain();
}
環境や条件などに合わせて内部実装を Domain.GetCurrentDomain メソッドや
Domain.GetDomain メソッドで取得するようにします。
- 18. 18
クライアントの設定ができてないと・・・
Domain オブジェクトを取得できず、例外が発生します。
前ページの GetDomain メソッドの内部実装が
1. Domain.GetComputerDomain メソッドの場合の例外とメッセージの例
ActiveDirectoryObjectNotFoundException
ローカル コンピューターがドメインに参加していないか、ドメインが接
続不可能です。
2. Domain.GetCurrentDomain メソッドの場合の例外とメッセージの例
ActiveDirectoryOperationException
現在のセキュリティ コンテキストは、Active Directory ドメインまたは
フォレストに関連付けられていません。
3. Domain.GetDomain メソッドの場合の例外とメッセージの例
2. と同じあるいは ActiveDirectoryServerDownException
サーバーは使用可能ではありません。 名前: “virtual.proceed.local"
- 19. 主なクラス・プロパティ
Domain.Forest プロパティ(フォレスト)
Forest クラス(フォレスト)
Name プロパティ(フォレストの名前)
ForestMode プロパティ(フォレストの操作モード)
RootDomain プロパティ(フォレスト内で作成された最初のドメイン)
GlobalCatalogs プロパティ(フォレスト内のすべてのグローバル カタログ)
Domains プロパティ(フォレスト内のすべてのドメイン)
Sites プロパティ(フォレスト内のすべてのサイト)
SchemaRoleOwner プロパティ(FSMO スキーママスタ)
NamingRoleOwner プロパティ(FSMO ドメイン名前付けマスタ)
19
- 23. 主なクラス・プロパティ
Domain クラス(Active Directory ドメイン)
Name プロパティ(ドメイン名)
DomainMode プロパティ(ドメインの動作モード)
DomainControllers プロパティ(ドメイン内のドメイン コントローラ)
RidRoleOwner プロパティ(FSMO RID プールマスタ)
PdcRoleOwner プロパティ(FSMO PDC エミュレータ)
InfrastructureRoleOwner プロパティ(FSMO インフラストラクチャマスタ)
23