我如何追踪成功的登录和断开连接?

我如何追踪成功的登录和断开连接?

我试图跟踪用户每次远程访问计算机以及每次断开连接的情况。我使用 Powershell 来执行此操作。这是我用来执行此操作的方法

Get-WinEvent -Computer $env:ComputerName -FilterHashTable @{LogName='Security';ID=4634,4672} | Select-Object @{N='User';E={$_.Properties[1].Value}},TimeCreated,ID,$MachineNameProperty

如果我错了,请纠正我,但我的问题是事件 4634也可以申请登录失败事件。我只想要成功事件。另外事件 4672似乎仅适用于管理员登录时,如果我错了请再次纠正我,但我想要任何用户的成功登录。我如何仅跟踪任何用户的成功登录和断开连接?哪个事件日志最适合此目的?我希望日志也能够提供用户信息。事件 ID 4624并不总是提供用户信息。

答案1

如果有人偶然发现这一点,这对我有帮助:

#Win Event Filters/Properties
$LogFilter = @{LogName = 'Microsoft-Windows-TerminalServices-LocalSessionManager/Operational'
            ID = 21, 23, 24, 25
            }

$ActionProperty = @{Name='Action';Expression={
                if ($_.ID -eq '21'){"logon"}
                if ($_.ID -eq '22'){"Shell start"}
                if ($_.ID -eq '23'){"logoff"}
                if ($_.ID -eq '24'){"disconnected"}
                if ($_.ID -eq '25'){"reconnection"}
                }}


#Get Records
$LoginRecords = Get-WinEvent -FilterHashtable $LogFilter | Where-Object{($_.TimeCreated -ge (Get-Date).AddMinutes(-600))} | Select-Object $ActionProperty,$UserProperty,MachineName,$TimeProperty | Sort-Object -Property TimeCreated -Descending -Unique

查找登录和注销时,日志 Microsoft Windows Terminal Services/ Local Session Manager/ Operational 最有帮助。与其他日志相比,此日志的事件较少,因此在大多数情况下,它更清晰、更易于理解。如果您使用 powershell 来审核这些内容,请确保使用开关-Unique来确保您只获取一个登录事件,而不是有时与之一起生成的其他两个或三个事件。

相关内容