Для начала нам понадобится скачать и установить 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 пользователей…
низачет — используются сторонние библиотеки о который нислова в комментах к скрипту.
Поправил.