<%@ Language=VBScript %> KYO'S ROOM 【ADSI】


オブジェクトの持つプロパティを検出する

以下のサンプルでは、ADsPath でオブジェクトを取得し、取得したオブジェクトのもつプロパティの一覧を表示します。オブジェクトは、ドメインでも、ユーザーでも、コンピュータでも何でも大丈夫です。

ADsPath を入力してください。

ex) LDAP://CN=kyo, CN=Users,DC=kyodom,DC=com
ex) WinNT://kyopc/administrator,User
ex) WinNT://kyopc,Computer
ex) WinNT://kyopc/lanmanserver,Service
ex) WinNT://kyopc/lanmanserver,FileService

 

スクリプト解説

上記サンプル内で使用しているスクリプトの一部を以下に解説します。

 

on error resume next
adspath = Request.Form("adspath")

' エラーが出たときのためのトラップ
' ASP を使用した情報の取得
 
dim obj
dim objClass
if adspath <> "" then
  Set obj = GetObject(adspath)
  Set objClass = GetObject(obj.schema)
end if



' LDAP を使用してオブジェクトを取得。
' 取得したオブジェクトのスキーマクラス情報を取得
 :
 :
for each member in objclass.MandatoryProperties ' For Each 文で objclass のメンバーを一つずつ member 変数に取得。member の値がプロパティの情報になる。
  response.write("<tr>")
  response.write("<td align='center' width='50%'>" & member & "</td>")
  response.write("<td align='center' width='50%'>" & obj.get(member) & "</td>")
  response.write("</tr>")
next

'member と obj のプロパティ情報を取得する

スキーマとはディレクトリサービスにおいての、オブジェクトの定義をしているデータベースみたいなものです。つまり、オブジェクトがどんな情報を保有することが可能かを定義しているところです。