lastLogonTimestampは各ユーザのプロパティなので、OUを取得して調べても「ディレクトリのプロパティがキャッシュに見つかりません」とエラーがでます。OU内のメンバーを個別に調べないといけません。
また、一度もログインしていないユーザはこのプロパティがセットされていないので「ディレクトリのプロパティがキャッシュに見つかりません。」とエラーが出ます。
回答4 (この回答は回答2に対する回答です)
- 投稿ID:A2008052923
- 投稿日時:2008/09/11 10:51
ありがとうございます。
CN=*というようなワイルドカードは有効でしょうか?
ちなみに、以下のように書き換えて実行してみたところ、エラー内容が変わりました。
ワイルドカードは使えないんでしょうか??
VBS
Set objUser = GetObject("LDAP://CN=*,OU=Users,OU=clubnoah,DC=abc,DC=com")
Set objLastLogon = objUser.Get("lastLogonTimestamp")
intLastLogonTime = objLastLogon.HighPart * (2^32) + objLastLogon.LowPart
intLastLogonTime = intLastLogonTime / (60 * 10000000)
intLastLogonTime = intLastLogonTime / 1440
Wscript.Echo "Last logon time: " & intLastLogonTime + #1/1/1601#
以上
エラー
スクリプト: C:\timestamp.vbs
行: 1
文字: 1
エラー: サーバにそのようなオブジェクトはありません。
コード: 80072030
ソース: (null)
回答5 (この回答は回答4に対する回答です)
- 投稿ID:A2008052934
- 投稿日時:2008/09/11 11:57
回答8 (この回答は回答5に対する回答です)
- 投稿ID:A2008053199
- 投稿日時:2008/09/17 11:37
お礼が遅れて申し訳ありませんでした。
ワイルドカード使えないんですね・・・orz
素直にShellとかの勉強に励みます。
本当にありがとうございました!