使用PowerShell检测交换机用户

时间:2011-03-03 21:20:35

标签: powershell switch-user

我想在机器中注册每次切换用户的日期和时间。我怎样才能做到这一点?与此类似但对于“切换用户”事件:detect log off and on with powershell

提前谢谢

1 个答案:

答案 0 :(得分:3)

我认为你在寻找这个:

Event ID 4778 : A user has logged by selecting Switch user command (Fast User Switching).
Event ID 4779 : A user has logged back on using Switch user command (Fast User Switching).

但只有在审核策略中配置“审核conexion事件”时,这些事件才会出现在“安全”事件日志中。

enter image description here

对于法语屏幕感到抱歉,但我认为这比没事要好。

之后使用“快速用户切换”时,如果您过滤事件ID 4778和4779,您可以看到如下内容:

enter image description here

因此,您在问题中指出的代码的powerShell适应性如下:

clear-Host
$UserProperty = @{n="User";e={$_.ReplacementStrings[0]}}
$TypeProperty = @{n="Action";e={switch($_.EventID) {4778 {"SwitchOn"} 4779{"SwitchOff"}}}}
$TimeProeprty = @{n="Time";e={$_.TimeGenerated}}
Get-EventLog -LogName Security -Source Microsoft-Windows-security-auditing | where {$_.EventID -eq 4778 -or $_.EventID -eq 4779} | select $UserProperty,$TypeProperty,$TimeProeprty

我希望这会有所帮助。

JP

PS:you can find other informations about "Fast user switching" in french there