web-dev-qa-db-ja.com

ユーザーがログオンしたコンピューター名を見つける方法

特定のユーザーが現在ログオンしているコンピューター名を知るためのツールやスクリプト、またはその他の方法はありますか?それともログオンしていましたか?

ユーザー "HRDrone"が、ホスト名が "HRStation01"のマシンで作業しているとします。

システム管理者のデスクに座っている私は、ユーザー名が「HRDrone」であることしか知りません。ユーザーに質問せずに「HRStation01」にログオンしていることを確認する方法はありますか? ADイベントビューア?何か?

ありがとう!

9
V. Romanov

あなたのためにこれを行う素晴らしいSysinternalsユーティリティがあります- PsLoggedOn

8
Sam Cogan

私がよく使用する安価なトリックは、対象のユーザーが「ドライブ」に「マッピング」されていることがわかっているファイルサーバーコンピューターを対象とした「コンピューターの管理」コンソールの「共有フォルダー」の下にある「セッション」を確認することです。

5
Evan Anderson

ユーザーログオンスクリプトとしてこれらを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\

あなたがそれを必要とするなら、あなたは私にもっと多くのスクリプトのために連絡することができます、それは私にとっても良い学習です

1
Asim Khan

何かライブがあるかどうかはわかりませんが、セキュリティイベントログにはユーザーからのログインが記録されます。 DCのイベントログにアクセスすると、この情報が得られるはずです。情報が収集されていることを条件とします。それはポリシーの設定だと思います。

Microsoftのこのページでは、イベントログを照会するための非常に遅く複雑な方法について説明しています。 http://technet.Microsoft.com/en-us/library/ee176699.aspx

これは役に立たないと確信していますが、監査として機能する可能性があります。つまり、悪いことが起こったときにログインしていた人!

0

システム管理者は、ログオンスクリプトにルーチンを埋め込んで、ユーザー名とホスト名を含む.txtファイルを保存するか、sqliteを使用できます。

会社全体でリモートサポートを行うには、この問題を解決する必要がありました。 PsLoggedOnのようなものや、ドメインコントローラーのセキュリティログをスキャンするためのツールは、(ホスト名を取得してユーザーのリモートサポートを行う)目的には遅すぎることが判明しました。これが私が思いついたものです:

  • すべてのユーザーがXにマップされたドライブを持っています:ADのプロファイル-ホームフォルダー
  • 全員が、プロファイル-ログオンスクリプトで以下のスクリプトを割り当てられています

このスクリプトは、ホームフォルダーにログインしたコンピューターを記録します。具体的には、ターミナルサーバーへのログインを記録しません。そのようなエントリは気にしないからです。

'===============================================================
' 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でホームディレクトリを自動的に見つけ、ログファイルを開いて、最後の数行を出力します。

0
Grant