1

だから私はサーバー上のアクセス日を監視するプログラムを書いています。私の目標は、ドメインコントローラー上にある各プロファイルの最終ログイン/アクセス日を取得することですが、どのファイル/設定/プロパティを確認する必要があるのか​​わかりません。現在、私のプログラムは次の最終変更日をチェックしています。

\\my-dc\c$\Documents and Settings\user\NTUSER.DAT.LOG

誰かが何かをするたびに最新の更新が行われているように見えるので、これを行いました。しかし、調べてみると、ユーザーがログオンしていなくても、ユーザーのレジストリが変更されるたびにファイルが更新されるようです。私のプログラムは多くの誤検知を報告するため、これはあまり役に立ちません。

TL; DR-ユーザーの最終ログオン日を確認するときに確認する必要があるWindowsプロパティまたは特定のファイルはありますか?

ありがとう。

4

1 に答える 1

1

LastLoginプロパティを持つIADsUserにクエリを実行できます。これは、IADsUserからプロパティを取得するC#とVB.NETの例です。

これがlastloginを取得するために変更されたサンプルコードです

Imports System.Reflection
Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
Dim ads As [Object] = ent.NativeObject
Dim type As Type = ads.GetType()
Dim firstName As String = CStr(type.InvokeMember( _
    "LastLogin", _
    BindingFlags.GetProperty, _
    Nothing, _
    ads, _
    Nothing))

注:CStrの代わりにDateTime.TryParseを使用することをお勧めします

于 2011-10-05T14:41:08.777 に答える