PowerShell · 08.09.2023

Скажи пароль и проходи

У этого скрипта нет какой-то фундаментальной задачи, он не делает ничего экстраординарного. Это своего рода наглядный материал и не более. Я применяю его, когда нужно удостовериться в правильности пароля учётной записи пользователя в Active Directory.

Эта штуковина особенно актуальна, если нужно проверить какую-то сервисную учётную запись.

[System.Console]::Title = "Диагностика подключения пользователя к домену"

$username = Read-Host "Имя пользователя"
$password = Read-Host "Пароль пользователя"

$status = (Get-ADUser $username).Enabled
$logontest = (New-Object DirectoryServices.DirectoryEntry "",$username,$password).psbase.name -ne $null

if ($status) { Write-Host "Пользователь включён!" -ForegroundColor Green }
else { Write-Host "Пользователь выключен!" -ForegroundColor Red }

if ($logontest) { Write-Host "Указанный пароль для пользователя $username действителен!" -ForegroundColor Green }
else { Write-Host "Указанный пароль для пользователя $username недействителен!" -ForegroundColor Red }

Read-Host

Скрипт проверяет включена ли учётная запись, а следом проверяет правильность пароля.

У данного скрипта есть ещё одна версия, написанная специально для сборки в exe.