Для начала нам понадобится скачать и установить ActiveRoles Management Shell for Active Directory http://www.quest.com/powershell/activeroles-server.aspx
После установки подключаем…
PS C:> Add-PSSnapin Quest.ActiveRoles.ADManagement
$OU = "domain.local/OU_UNIT/"
Get-QADUser -SizeLimit 0 -SearchRoot $OU | ForEach-Object {
$DN = $_.DN
$Password = ""
$rand = New-Object System.Random
1..6 | ForEach { $Password = $Password + [char]$rand.next(97,122) }
$login = $_.LogonName
$file=c:report.txt
Add-Content -Path $file -Value "Пользователь:$(ConvertFrom-DN($DN))`t Имя для входа – $($login)`t Новый пароль – $($Password)"
$account = [ADSI]$ldapURL
$account.InvokeSet("SetPassword", $Password)
$account.setinfo()
}
А если нужно сменить 150+ пользовалелям, как можно это автоматизировать по максимуму?
А чем не подходит описанный выше скрипт? хоть 1000 пользователей…
низачет — используются сторонние библиотеки о который нислова в комментах к скрипту.
Поправил.