смена пароля скриптом
Вариант 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