%@ Language=VBScript %>
ユーザー名とドメイン名、またはコンピュータ名を入れると、WinNT プロバイダで取得できる ADSI オブジェクト、User オブジェクトの一覧を表示することができます。コンピュータ名を入れた場合、そのコンピュータのローカルユーザーを表示します。
上記サンプル内で使用しているスクリプトの一部を以下に解説します。
|
on error resume next |
'
エラーが出たときのためのトラップ ' ASP を使用した情報の取得 |
| Dim UserObj if uname <> "" and dname <> "" then Set UserObj = GetObject("WinNT://" & dname & "/" & uname) end if |
'
WinNT を使用して User
オブジェクトを取得。上記例の場合 ' WinNT://kyodom/kyo ' を検索している |
| : : |
|
| Response.Write(UserObj.FullName) | ' 取得した User オブジェクトからフルネームを取得 |
ポイントは、GetObject を使用して WinNT プロバイダを使用した ADsPath の構文を知っていれば大丈夫です。後は、取得したオブジェクトのプロパティを Object.Property と指定して上げればよいだけです。
ユーザー名(uname)にコンピュータ名を指定すれば、Computer オブジェクトが取得できるし、グループを指定すればグループが取得できます。ためしに、上記サンプルでユーザー名の変わりにコンピュータ名を入力すると、コンピュータの情報が取得できます。もちろん、オブジェクトが違うのでプロパティも違い、表示はされません。ただし、ADSI オブジェクトはすべてのオブジェクトが継承しているので、表示は可能です。
WinNT Object Class Hierarchy
http://msdn.microsoft.com/library/psdk/adsi/ds2pnt4_762h.htm
WinNT Schema's Mandatory and Optional Properties
http://msdn.microsoft.com/library/psdk/adsi/ds2pnt4_49mb.htm
Modifying User Properties
http://msdn.microsoft.com/library/psdk/adsi/adsiscript_66ur.htm
ADS_USER_FLAG_ENUM
http://msdn.microsoft.com/library/psdk/adsi/ds2_enum_ret_94j1.htm
ADSI WinNT Provider
http://msdn.microsoft.com/library/psdk/adsi/ds2pnt4_7diq.htm