Active Directoryの棚卸作業には、Hey, Scripting Guy!のスクリプトが利用できそうです。
サーベンス オクスリー法で必要な情報を取得する方法はありますか
On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE '参照したいドメイン名に以下の'LDAP://dc=pnpk,dc=local'の部分を変更します objCommand.CommandText = _ "SELECT ADsPath FROM 'LDAP://dc=pnpk,dc=local' WHERE objectCategory='user'" Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF strPath = objRecordSet.Fields("ADsPath").Value Set objUser = GetObject(strPath) Wscript.Echo "ユーザ名 : " & objUser.FullName Wscript.Echo "アカウント作成日 : " & objUser.whenCreated & " GMT" Wscript.Echo "最後にパスワードを変更した日 : " & objUser.passwordLastChanged Wscript.Echo objRecordSet.MoveNext Loop
最後にログインした時間を取得する場合、この情報はユーザがログインしたドメインコントローラのみに記録されるので、ドメインコントローラを複数構築している場合には、なかなかサッと確認するのは難しいです。
ただし、この問題はドメインコントローラをWindows Server 2008に変更すると解決出来るようです。
ドメインコントローラの機能レベルをWindows Server 2008にすると、以下の機能が利用出来るようになります。
SYSVOL共有のDFSR複製のサポート
KerberosのAES 128/256ビット暗号化のサポート
最後の対話ログオン情報の記録
きめ細やかなパスワードポリシー
Windows Server 2008 のActive Directoryについてもっと調べてみたい場合には、以下のサイトが参考になります。
「Active Directory」ドメインサービスの7つの強化ポイント
http://www.computerworld.jp/topics/mws/104369-1.html
サーベンス オクスリー法で必要な情報を取得する方法はありますか
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/aug06/hey0801.mspx