Определить пользователя коммутатора с PowerShell
Я хочу зарегистрировать дату и время каждого временного переключателя, который вызывается пользователем на машине. Как я могу это сделать? Нечто похожее на это, но для события "переключение пользователя": обнаружение выхода из системы и включение с PowerShell
заранее спасибо
1 ответ
Я думаю, что то, что вы ищете для этого:
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).
Но эти события появляются в журнале событий "Безопасность", только когда вы настраиваете "Аудит сопутствующих событий" в стратегии аудита.
Извините за французский экран, но я думаю, что это лучше, чем ничего.
После этого при использовании "Быстрого переключения пользователей", если вы фильтруете события с идентификаторами 4778 и 4779, вы можете увидеть что-то вроде:
Таким образом, адаптация 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: вы можете найти другую информацию о "Быстрое переключение пользователей" на французском языке там.