Quantcast
Channel: わんくま同盟
Viewing all articles
Browse latest Browse all 994

Active Directory 内のオブジェクトの検索指定

$
0
0

Active Directory内のユーザやグループなどは管理ツール「Active Directory ユーザとコンピュータ」で管理しますが、主に次のオブジェクトを管理します。

・ユーザ
・グループ
・コンピュータ
・組織単位(OU)
・プリンタ
・共有フォルダ

サンプルアプリはこれらのオブジェクトを対象とします。

前回、Active Directory 内のユーザやグループを検索するコードを書きました。

その際、検索フィルタを指定しましたが SQL同様、色々指定できます。

LDAP書式で 「(属性=)」のように書きます。

AND条件は「&」、OR条件は「|」、否定は「!」です。

De で始まるグループ

"(&(objectCategory=Group)(name=De*))"

XP か 2008 のコンピュータ

"(&(objectCategory=Computer)(|(operatingSystem=*XP*)(operatingSystem=*2008*)))"

一課のOU(組織単位)

"(&(objectCategory=OrganizationalUnit)(name=一課)"

本社以外でカラーか1分間に30枚以上印刷できるプリンタ

"(&(objectCategory=PrintQueue)(!location=本社)(|(printColor=True)(printPagesPerMinute>=30)))"

MyServer の共有フォルダ

"(&(objectCategory=Volume)(uNCName=\\MyServer\*))"

 

属性は DirectoryEntry.Properties プロパティで指定するプロパティ名と同じです。

一般的なプロパティ名であれば、このプロパティの PropertyNames プロパティを列挙すればプロパティ名が判ります。

また、プロパティ値は同じく Item プロパティ(PropertyValueCollection クラスのインスタンス)の Value プロパティで取得できます。

この Value プロパティは Object 型なんですが、内部で保持してる要素の数によって返される値が異なります。

・要素の数が 0: null
・要素の数が 1:その要素の値
・要素の数が複数:各要素の値の配列のコピー

「要素の数が複数」というのは、objectClass のように複数の値(Object 型の配列)だったり、objectGUID のように値としては1つだけど Byte 型の配列になってたり、というのがあります。

ドメインコントローラが Windows server 2008 だと管理ツール「Active Directory ユーザとコンピュータ」から確認することができます。

「表示」メニューの「拡張機能」にチェックを入れた状態で、ユーザやグループなどのオブジェクトのプロパティを表示すると「属性エディタ」タブが表示されます。

これを見ると、属性の名前とその値を確認できます。


Viewing all articles
Browse latest Browse all 994

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>