特定のユーザーが現在ログオンしているコンピューター名を知るためのツールやスクリプト、またはその他の方法はありますか?それともログオンしていましたか?
ユーザー "HRDrone"が、ホスト名が "HRStation01"のマシンで作業しているとします。
システム管理者のデスクに座っている私は、ユーザー名が「HRDrone」であることしか知りません。ユーザーに質問せずに「HRStation01」にログオンしていることを確認する方法はありますか? ADイベントビューア?何か?
ありがとう!
あなたのためにこれを行う素晴らしいSysinternalsユーティリティがあります- PsLoggedOn
私がよく使用する安価なトリックは、対象のユーザーが「ドライブ」に「マッピング」されていることがわかっているファイルサーバーコンピューターを対象とした「コンピューターの管理」コンソールの「共有フォルダー」の下にある「セッション」を確認することです。
ユーザーログオンスクリプトとしてこれらをbatファイルで実行する方法
mkdir %username%
pushd %username%
net config workstation > %computername%.txt
または、詳細が必要な場合
mkdir %username%
pushd %username%
@echo off
echo
echo I am logged on as %UserName%. >> %username%\%computername%.txt
echo My computer's name is %ComputerName%. >> %computername%.txt
echo %Date% >> %computername%.txt
echo %Time% >> %computername%.txt
echo My IP settings are >> %computername%.txt
ipconfig | find "." | find /i /v "suffix" >> %computername%.txt
getmac >> %computername%.txt
echo\
あなたがそれを必要とするなら、あなたは私にもっと多くのスクリプトのために連絡することができます、それは私にとっても良い学習です
何かライブがあるかどうかはわかりませんが、セキュリティイベントログにはユーザーからのログインが記録されます。 DCのイベントログにアクセスすると、この情報が得られるはずです。情報が収集されていることを条件とします。それはポリシーの設定だと思います。
Microsoftのこのページでは、イベントログを照会するための非常に遅く複雑な方法について説明しています。 http://technet.Microsoft.com/en-us/library/ee176699.aspx
これは役に立たないと確信していますが、監査として機能する可能性があります。つまり、悪いことが起こったときにログインしていた人!
システム管理者は、ログオンスクリプトにルーチンを埋め込んで、ユーザー名とホスト名を含む.txt
ファイルを保存するか、sqliteを使用できます。
会社全体でリモートサポートを行うには、この問題を解決する必要がありました。 PsLoggedOnのようなものや、ドメインコントローラーのセキュリティログをスキャンするためのツールは、(ホスト名を取得してユーザーのリモートサポートを行う)目的には遅すぎることが判明しました。これが私が思いついたものです:
このスクリプトは、ホームフォルダーにログインしたコンピューターを記録します。具体的には、ターミナルサーバーへのログインを記録しません。そのようなエントリは気にしないからです。
'===============================================================
' Record the logon in their X: drive UNLESS they are on TERM-SERVER!
'===============================================================
If strComputerName <> "TERM-SRVER" Then
strFile = "X:\login.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(strFile, 8, True)
objTextFile.WriteLine(strIP + " - " + strComputerName + " - " + CStr(Date) + " " + CStr(Time))
objTextFile.Close
' Make it hidden
Set objTextFile = objFSO.GetFile(strFile)
objTextFile.Attributes = 2
End If
次に、ローカルマシンで少しVBscriptを使用して、ADでホームディレクトリを自動的に見つけ、ログファイルを開いて、最後の数行を出力します。