システムをリモートで使用しているシステムのシステム名を知る方法はありますか?ログから、ユーザー名(ただし、これらは一般的なログインIDです)とIP(DHCPを使用していますが、これらは日々変化しています)を知ることができます。
左側のイベントビューアツリーのアプリケーションとサービスログ-> Windows-> ターミナルサービス-*の下。*はすべてそこのログ。ターミナルサービスのローカルセッションマネージャーの操作ログでは、IPアドレスとユーザー名のみの詳細を取得しています。
システム名を見つけることができるログはありますか?
さて、ここに行きます...(これは簡単ではありません;)
まず 監査を有効にする _secpol.msc
内。
他のイベントがトリガーされてホスト名を取得するには早すぎるため、これが必要であることがわかりました。
secpol.msc
と入力してから、 enter。Local Policy
> Audit Policy
に移動しますAudit account logon events
ポリシーオプションを右クリックし、Properties
を選択します。Success
ボックスをチェックします(失敗した試行はこの方法で記録されません)secpol.msc
を終了次に、VBScriptファイル(たとえば、c:\temp\log.vbs
と呼ばれる)を作成します。
(目的のログファイルの場所も編集します。ここではc:\temp\rdp.log
)
Function sessionNumber
Dim oShell, oExec, sOutput, iUserPos, iUserLen, iStatePos
Set oShell = CreateObject("WScript.Shell")
Set oExec = oShell.Exec("query session %username%")
sOutput = LCase(oExec.StdOut.ReadAll)
iUserPos = InStr(sOutput,LCase(oShell.ExpandEnvironmentStrings("%username%")))
iStatePos = InStr(sOutput,"active")
iUserLen = Len(oShell.ExpandEnvironmentStrings("%username%"))
sessionNumber = CInt(Trim(Mid(sOutput,iUserPos+iUserLen,iStatePos-iUserPos-iUserLen)))
End Function
Function clientName
Dim oShell
Set oShell = CreateObject("WScript.Shell")
On Error Resume Next
clientName = LCase(oShell.RegRead("HKCU\Volatile Environment\"&sessionNumber&"\CLIENTNAME"))
If Err.Number<>0 Then
clientName = "unknown"
End If
End Function
outFile="c:\temp\rdp.log"
Const ForAppending = 8
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objFile=objFSO.OpenTextFile(outFile,ForAppending,True)
objFile.Write now() & " ; " & clientName & vbCrLf
objFile.Close
最後の部分では、このスクリプトを開始するためのスケジュールされたタスクを作成します。
taskschd.msc
と入力してから、 enter。Create Task
を選択しますLogon RDP
などの名前を付けますOn an event
を選択しますSecurity
を選択し、「イベントID」で4624
と入力しますcscript.exe
と引数追加タイプc:\temp\log.vbs
これで、誰かがRDP経由でログインすると、そのホスト名がc:\temp\rdp.log
にログインします
ローカルログインも記録されることに注意してください(リモートにいるため、まだテストしていません:)
しかし、それは問題ではないと思います。
もちろん、log.vbs
を変更して、ユーザー名、リモートIPなどを含めることもできます。
(ちなみに、Windows XPはずっと簡単でした。イベントにホスト名を記録するだけです)
たぶん誰かがより簡単な解決策を考え出すことができます:)
編集:
また、セキュリティイベントログにイベントID 4624があることもわかりました。Logon Type: 3
のイベントIDを探してください。 RDP経由でログインしたマシンのWorkstation Name
が含まれている必要があります。
An account was successfully logged on.
Subject:
Security ID: NULL SID
Account Name: -
Account Domain: -
Logon ID: 0x0
Logon Type: 3
New Logon:
Security ID: User-PC\User
Account Name: User
Account Domain: User-PC
Logon ID: 0xcd5c10
Logon GUID: {00000000-0000-0000-0000-000000000000}
Process Information:
Process ID: 0x0
Process Name: -
Network Information:
Workstation Name: XPS8500
Source Network Address: -
Source Port: -
#2を編集
これは、完全にクリーンなWindows 7インストールからのものです。
(メインマシンはTest-pc
で、ログオンしたマシンはXPS8500
):