Windows 10 64-бит. PowerShell 5
Как отобразить отметку времени последнего журнала для одной / всех учетных записей локальных пользователей, используя CMD или Powershell. Как отобразить имя пользователя и / или дату и / или время и / или час. Ни одна из команд не требует прав администратора.
PowerShell:
# How to display the lastlogon timestamp for one / all local user accounts.
# PowerShell 5. https://stackoverflow.com/a/61387391/8826818
# Interactive, searchable, gridview window. All accounts except default accounts named: DefaultAccount, Guest, WDAGUtilityAccount
get-localuser | where {$_.name -notmatch 'defaultaccount|guest|WDAGUtilityAccount'} | select-object lastlogon,name | out-gridview
# All accounts except default accounts named: DefaultAccount, Guest, WDAGUtilityAccount
get-localuser | where {$_.name -notmatch 'DefaultAccount|Guest|WDAGUtilityAccount'} | select-object lastlogon,name | format-table -hidetableheaders
# All local accounts name, date and time. Remove name if not wanted.
$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$adsi.Children | where {$_.SchemaClassName -eq 'user'} | format-table lastlogin,name -HideTableHeaders
# Account by name:
Get-LocalUser -Name Administrator,_9doug | Select-Object lastlogon,name | Format-Table -HideTableHeaders
# All accounts:
get-localuser | where {$_.name} | select-object lastlogon,name | format-table -hidetableheaders
Интерактивное окно поиска с возможностью поиска в сетке:
Или:
Administrator 4/12/2020 7 : 32 : 09 PM
_7doug 11/18/2019 11 : 13 : 53 PM
_8doug 10/25/2019 4 : 47 : 09 PM
_9doug 4/23/2020 6 : 49 : 41 AM
CMD:
rem date and time
for /f "tokens=2,*" %g in ('net user administrator ^| findstr /C:"Last logon"') do echo %h
rem only the hour
for /f "tokens=4" %g in ('net user administrator ^| findstr /C:"Last logon"') do echo Last logon hour was: %g
Сценарий:
rem date and time
for /f "tokens=2,*" %%g in ('net user administrator ^| findstr /C:"Last logon"') do echo %%h
rem only the hour
for /f "tokens=4" %%g in ('net user administrator ^| findstr /C:"Last logon"') do echo Last logon hour was: %%g
Необычный вывод команды net user
:
Для
QUSER: Работает только для текущего пользователя.
CMD:
rem date and time
for /f "skip=1 tokens=6-8" %g in ('quser administrator') do echo %g %h %i
rem only the hour
for /f "skip=1 tokens=7 delims=: " %g in ('quser administrator') do echo Last logon hour was: %g
Сценарий:
rem date and time
for /f "skip=1 tokens=6-8" %%g in ('quser administrator') do echo %%g %%h %%i
rem only the hour
for /f "skip=1 tokens=7 delims=: " %%g in ('quser administrator') do echo Last logon hour was: %%g