- - PR -
ActiveDirectoryからlastLogonを引き出す方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-07-28 12:29
こんにちは。
Windows2000 ServerのActiveDirectoryから 退職したユーザーの最終ログオン日時をドメインから参照する為、 Net user "User Name" /domainで調べていたのですが、 ある日突然、最終ログオン日時が表示されなくなってしまいました。 原因がよくわからない為、ユーザーのlastLogon情報を 以下、MSのサイトに記載されているスクリプトを使用して調べる事にしました。 http://www.microsoft.com/japan/technet/scriptcenter/topics/win2003/lastlogon.mspx ただし、Windows2000にはlastLogonTimestampがないのでlastLogonに変更しています。 以下のようなScriptを実行すると、 **************************************************************************** Set objUser = GetObject("LDAP://cn=taro yamada,OU=hoge,dc=jp,dc=hoge,dc=com") Set objLastLogon = objUser.Get("lastLogon") intLastLogonTime = objLastLogon.HighPart * (2^32) + objLastLogon.LowPart intLastLogonTime = intLastLogonTime / (60 * 10000000) intLastLogonTime = intLastLogonTime / 1440 Wscript.Echo "Last logon time: " & intLastLogonTime + #1/1/1601# **************************************************************************** 時間は表示される事はされるのですが正確な時間なのかわかりません。 理由としましては色々なアカウントでScriptを試したのですが、 ほとんどが23:53頃と表示され、自分のアカウントも、 Net user "User Name" /domainで表示される時間とScriptを 実行した際に表示される時間が合いません。 計算式が間違えているのでしょうか? 自分はScriptの知識がない為、このような質問なのですが 更に欲を言えばScriptを実行した際に、GetObjectのCN,OU,DCを 手動で入力できるようにScriptを組めればと思います。 どなたかお分かりになる方がいましたらご教授いただきたく御願いいたします。 或いは別の方法(Script以外の方法など)がありましたら教えていただきたいです。 また、ActiveDirectoryの設定やADSI Editを使う事により、 net user hoge /domainでラストログイン日時を表示させる事は できませんでしょうか? (質問違いでしたらお詫び申し上げます) net userにこだわる理由としましては、 アカウント情報の参照をするのはオペレーターである為、 なるべく簡単な操作にしたいと思っています。 どうぞ宜しく御願いいたします。 |
1