Поиск по сайту:

PowerShell: Как узнать последнюю авторизацию пользователей (Get-LocalUser)


С введением PowerShell 5.1 были введены новые команды для локального управления пользователями. Я рад это слышать. Мне не нравится команда net user.

Изучение местных команд администрирования пользователей

Сначала убедитесь, что ваша система работает на PowerShell 5.1. Откройте PowerShell и выполните

(Get-Host).Version

Команды можно найти, выполнив

Get-Command -Module Microsoft.PowerShell.LocalAccounts

Время последнего входа пользователя

Вернемся к теме. Чтобы узнать всех пользователей, которые вошли в систему за последние 10 дней, выполните

Get-LocalUser | Where-Object {$_.Lastlogon -ge (Get-Date).AddDays(-10)} | Select-Object Name,Enabled,SID,Lastlogon | Format-List

Чтобы найти пользователей, которые не входили в систему в последние 30 дней, выполните

Get-LocalUser | Where-Object {$_.Lastlogon -le (Get-Date).AddDays(-30)} | Select-Object Name,Enabled,SID,Lastlogon | Format-List

Другие примеры

Создание пользователей:

New-LocalUser -Name Peter -Password (ConvertTo-SecureString "Pa$$w0rd" -AsPlainText -Force)

Настройка параметра, при котором пароль никогда не истекает:

Set-LocalUser -Name Peter -PasswordNeverExpires $true -Description Brother

Дальнейшие размышления

Для управления учетными записями Active Directory я рекомендую свою статью "PowerShell: Мои 10 лучших команд для документирования и мониторинга Active Directory"