Skip to main content

смена пароля скриптом

Вариант 1: Смена пароля от имени администратора
$Username = "domain\username" # Учетная запись, которой меняем пароль
$NewPassword = "NewP@ssw0rd123" # Новый пароль
$SecurePassword = ConvertTo-SecureString $NewPassword -AsPlainText -Force

Set-ADAccountPassword -Identity $Username -NewPassword $SecurePassword -Reset
Set-ADUser -Identity $Username -ChangePasswordAtLogon $true # Принудительная смена при входе
Вариант 2: Интерактивный сценарий (с запросом данных)
# Запрос данных у пользователя
$Username = Read-Host "Введите имя пользователя (samAccountName)"
$NewPassword = Read-Host "Введите новый пароль" -AsSecureString

try {
    Set-ADAccountPassword -Identity $Username -NewPassword $NewPassword -Reset
    #Set-ADUser -Identity $Username -ChangePasswordAtLogon $true
    Write-Host "Пароль успешно изменен для: $Username" -ForegroundColor Green
} catch {
    Write-Host "Ошибка: $_" -ForegroundColor Red
}
Вариант 3: Смена пароля текущим пользователем (с вводом старого)
# Запуск от имени обычного пользователя
$OldPassword = Read-Host "Текущий пароль" -AsSecureString
$NewPassword = Read-Host "Новый пароль" -AsSecureString

try {
    $Credential = New-Object System.Management.Automation.PSCredential((whoami), $OldPassword)
    Change-ADAccountPassword -Identity (whoami) -OldPassword $OldPassword -NewPassword $NewPassword
    Write-Host "Пароль изменен" -ForegroundColor Green
} catch {
    Write-Host "Ошибка: неверный текущий пароль или недостаточно прав" -ForegroundColor Red
}

Если модуль ActiveDirectory не найден:

Install-WindowsFeature RSAT-AD-PowerShell