前回の続き。
GetDomain メソッドで Domain オブジェクトを取得しました。このオブジェクトの中にドメインやサイトの情報が詰まってます。
アプリの画面はこんな感じ。(クリックすると新しいウィンドウで拡大図が表示されます。)
表示する項目は次の4つに分けてみました。
・フォレスト
・サイト
・ドメイン
・FSMO(Flexible Single Master Operation:操作マスタ)
フォレスト
Domain.Forest プロパティでオブジェクトを取得。主なクラスとプロパティは下記。
・Name プロパティ(フォレストの名前)
・ForestMode プロパティ(フォレストの操作モード)
・RootDomain プロパティ(フォレスト内で作成された最初のドメイン)
・GlobalCatalogs プロパティ(フォレスト内のすべてのグローバル カタログ)
・Domains プロパティ(フォレスト内のすべてのドメイン)
・Sites プロパティ(フォレスト内のすべてのサイト)
GlobalCatalog クラス(グローバル カタログ サーバ:グローバル カタログのレプリカをホストするドメイン コントローラ)
定義からして DomainController クラスを継承してるってのがなんとなく判りますね。
サイト
ActiveDirectorySite クラス(速度とコストの点で接続状況が良好な一連のドメイン コントローラを定義し、1つ以上の IP サブネットのセットで構成される)
・Servers プロパティ(サイト内のディレクトリ サーバ)
・Subnets プロパティ(サイト内のサブネット)
・SiteLinks プロパティ(このサイトに含まれるサイト リンク)
ActiveDirectorySubnet クラス(フォレストのサブネット)
ActiveDirectorySiteLink クラス(複製を目的として、均一のコストで特定のトランスポートを経由した通信をスケジュールできる複数のサイトの集合)
・Cost プロパティ(サイトリンクのコスト)
・ReplicationInterval プロパティ(サイト間の複製の間隔)
・TransportType プロパティ(サイト リンクのトランスポート タイプ)
ドメイン
Domain クラス(Active Directory ドメイン)
・Name プロパティ(ドメイン名)
・DomainMode プロパティ(ドメインの動作モード)
・DomainControllers プロパティ(ドメイン内のドメイン コントローラ)
DomainController クラス(ドメイン コントローラ)
・Name プロパティ(ドメイン コントローラ名)
・OSVersion プロパティ(OS)
・IPAddress プロパティ(IPアドレス)
・SiteName プロパティ(所属しているサイトの名前)
・Domain プロパティ(所属しているドメイン)
・Forest プロパティ(所属しているフォレスト)
FSMO
Forest.SchemaRoleOwner プロパティ(スキーママスタ)
Forest.NamingRoleOwner プロパティ(ドメイン名前付けマスタ)
Domain.RidRoleOwner プロパティ(RID プールマスタ)
Domain.PdcRoleOwner プロパティ(PDC エミュレータ)
Domain.InfrastructureRoleOwner プロパティ(インフラストラクチャマスタ)
Domain オブジェクトは IDisposable インターフェイスを実装した ActiveDirectoryPartition クラスを継承してるので、こんな感じでドメイン情報を表示するフォームを表示。
Using domain = DirectoryAccess.GetDomain() 'ドメインを取得
Using fm As New DomainInfo(domain) ‘ドメイン情報を表示するフォーム
fm.ShowDialog(Me)
End Using
End Using
おまけ
Excel でアクティブ セル領域を選択する時は Ctrl + *(Ctrl + Shift + :)。(Range.CurrentRegion.Select メソッドに相当)