Active Directory - установить пароли для всей группы
У меня есть активный сервер каталогов, где пользователи разделены на различные группы безопасности, и я пытался найти способ сбросить пароли для всех сразу.
Итак, сначала я подумал, что могу просто использовать dsquery. Команда
dsquery group -name "<group>" -uc | dsget group -members -uc
достал мне строки для всех пользователей. Это хорошо и все, но когда я отправлял вывод в файл, cmd всегда сохранял его как файл ANSI, независимо от настроек кодовой страницы и т. Д. Это повредило вывод, и я не смог загрузить его обратно, чтобы перебрать его, и вы можете нелегко сохранить выходные данные переданных по конвейеру программ в переменную в пакетном режиме, чтобы это было вне окна.
dsquery на powershell просто отказался работать. С DN или нет, он всегда говорил, что "объект каталога не найден". ( Как видно здесь.)
То же самое с Get-ADUser
а также Get-ADGroup
и т.д. команды от модуля AD PowerShell ( как те, которые описаны здесь). У них либо истекло время ожидания, либо они просто вышли, ничего не возвращая. Нет ошибки, нет сообщения об успехе, ничего. Конечно, пароли остаются без изменений.
Итак, вопрос в том, как мне поменять пароли сразу для всей группы?
1 ответ
Что-то вроде Get-AdGroupMember -Identity 'GroupName' -Recursive
должен получить список пользователей; если список выглядит правильно, то Get-AdGroupMember -Identity 'GroupName' -Recursive | Set-AdAccountPassword -Reset -NewPassword 'SomePassword'
следует изменить их все.