web-dev-qa-db-ja.com

ドメイン上の各PCに最後にログオンしたユーザーを特定するにはどうすればよいですか?

主にWindows7(およびWindows 8.1)PCのネットワークがあり、さまざまなホストにログオンした最新の人物を報告できるようにしたいと思います。

SCCMが設定されています。ただし、これは妥当な「最後にログオンした」時間を与えるようですが、「最後にログオンしたユーザー」はフィクションの比較作業であることがわかっています。

これはSCCMの既知の問題ですか、それとも精度を向上させるために微調整する必要があるものがありますか?さらに良いことに、これはLDAPを介して(たとえば、SQLServerからOPENQUERYを使用して)クエリできるものですか?

1
Rowland Shaw

Active Directoryにはユーザーログインの中央ストアがないため、この情報のLDAPクエリを単純にまとめることはできません。

SCCMに関して、 この問題が発生している可能性があります -最後にログオンしたユーザーレポートによって実行されているクエリを確認します-しかし、そうでない場合、最も簡単な解決策は、ログオンスクリプトのバリアントである可能性があります。ユーザー名、時刻/日付、マシン名をどこかに記録します。


問題のクエリは、User_Name0v_R_System viewフィールドにアクセスしていました。

知らない場合は、v_R_System.User_Name0は最後のネットワーク検出またはハートビート検出中にのみ更新されます。

したがって、ハードウェアインベントリの実行時に更新されるため、常にv_GS_COMPUTER_SYSTEM.UserName0を使用することをお勧めします。

現在、ほとんどの場所では、ネットワークやハートビートの検出よりも頻繁にハードウェアインベントリを実行しているため、私の推奨事項です。


SCCM微調整は、もちろん、最新のユーザー名フィールドでクエリを実行し、場合によってはSCCM使用するユーザー名フィールドがより頻繁に更新されるように設定します。

2
HopelessN00b