
У нас есть терминальный сервер, доступ к которому ограничен определенными пользователями через группу Active Directory. У одного пользователя был доступ, но в марте 2015 года его доступ был удален.
При запуске Get-WmiObject -class Win32_NetworkLoginProfile | Select-Object Name,LastLogon
PowerShell этот пользователь отображается с сегодняшней датой и временем, но пользователь не может войти в систему.
Почему они должны появляться? Другие пользователи, которые покинули компанию и были удалены, показывают последний раз, когда они входили в систему.
решение1
Отклоненный пользователь показывает время последнего входа
У нас есть терминальный сервер, доступ к которому ограничен определенными пользователями через группу Active Directory. У одного пользователя был доступ, но в марте 2015 года его доступ был удален.
При запуске Get-WmiObject -class Win32_NetworkLoginProfile | Select-Object Name,LastLogon в PowerShell этот пользователь отображается с сегодняшней датой и временем, но пользователь не может войти в систему.
Почему они должны появляться? Другие пользователи, которые покинули компанию и были удалены, показывают последний раз, когда они входили в систему.
Итак, пользователи, покинувшие компанию, имеют ожидаемое LastLogon
значение, тогда как эта «ограниченная» (но не уволенная) учетная запись сотрудника не имеет ожидаемого значения при запуске команды PowerShell.
Когда вы запускаете Get-WmiObject -class Win32_NetworkLoginProfile
команду, то естьзапрос значений сетевого входа пользователякоторый не относится к конкретной машине или серверу в используемом вами синтаксисе, поэтому это будет значение последнего входа в сеть на любом устройстве с этой учетной записью.
- Для сравнения запустите команду
NET USER /DOMAIN <Username>
с тем же именем пользователя, и вы увидите ту же метку даты и времени дляLast Logon
поля, что и команды WMI PowerShell и т. д. в вашем вопросе.
Это объясняет, почему вы видите это для ограниченной, но не удаленной учетной записи, поскольку эта учетная запись, вероятно, входит в систему на других присоединенных к домену компьютерах в вашей среде, где удаленные учетные записи не входят в нее.
Ниже приведен уточненный запрос с немного большей конкретикой дляконкретная учетная запись пользователянаконкретный сервер или машина.
Команды PowerShell (уточненные)
# connecting to a remote machine using current identity:
$ComputerName = 'SomeServerNameOrIP'
$AccountName = 'AccountNameToSearch'
Get-WMIObject -Class Win32_NetworkLoginProfile -ComputerName $ComputerName |
Where {$_.name -match $AccountName} | Select-Object Name,LastLogon,LogonServer
Источник: Win32_NetworkLoginProfile
Дополнительные ресурсы
Win32_NetworkLoginProfile
Класс Win32_NetworkLoginProfile представляет информацию о сетевом входе конкретного пользователя в системе Win32. Сюда входят, помимо прочего, статус пароля, привилегии доступа, дисковые квоты и пути к каталогам входа.
Последний вход
Тип данных ДатаВремя
Свойство LastLogon указывает дату и время последнего входа пользователя в систему. Это значение вычисляется на основе количества секунд, прошедших с 00:00:00 1 января 1970 года. Формат этого значения — ггггммддччммсс.мммммм сутк. Пример: 19521201000230.000000 000
NETLOGIN - Network login information for a particular user.