Массовое изменение настроек пользователей в OU
Здравствуйте!
Очень нужна помощь экспертов в следующем вопросе. Найти или написать скрипт, который в указанном OU Active Directory пробегает по всем учетным записям пользователей и устанавливает следующие параметры: - запретить смену пароля пользователем; - срок действия пароля не ограничен; - хранить пароль, используемое обратимое шифрование; - пароль = логин; - включить в группу "Dynamic VLAN"; - исключить из группы "Domain Users"; - установить Primary Group = "Dynamic VLAN". VB до завтра изучить точно не успею, поэтому обращаюсь к вам за помощью. |
при нажатой кнопке шифт в ADUC выделяете всех нужных пользователей в OU - щелчок правой кнокой - свойства - выставляете, что нужно
|
на вскидку - есть несколько утилит dsquery , dsmode, dsadd, dsrm, csvde, ldifde.
пример dsquery user -inactive 8 | dsmod user -disabled yes. Открываем командную строку на контроллере домена от имени учетной записи обладающей необходимыми правами и : 1) добавляем пользователей в группу : dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod group"cn=Marketing Staff,ou=Marketing,dc=microsoft,dc=com" -addmbr 2) логин=пароль dsquery user ou=Marketing,dc=microsoft,dc=com | dsget user -samid | dsmod -pwd 3) запрет смены пароля, включаем обратимое шифрование, срок действия пароля не ограничен dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod user -canchpwd no -reversiblepwd yes -pwdneverexpires yes по поводу смены основной группы: http://blogs.technet.com/heyscriptin...ary-group.aspx http://www.wisesoft.co.uk/scripts/vb...ary_group.aspx 4) удалить пользователей из группы Domain users : dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod group "CN=Domain Users,CN=Users,dc=microsoft,dc=com" -rmmbr Вобще говоря подумайте, стоит ли удалять пользователей из группы "Domain Users"... |
Цитата:
|
WildCat,
Вам придется вручную выставлять разрешения на общие ресурсы, принтеры и т.п. |
Цитата:
|
Цитата:
К примеру группа Domain Users по умолчанию является членом локальной группы Users на каждой клиентской машине в домене. Тоесть пользователи сразу получают некоторые разрешения по умолчанию, что упрощает задачи администрирования. |
Цитата:
исправила вот так: Код:
dsquery user ou=Marketing,dc=microsoft,dc=com | dsget user -samid | dsmod user -pwd а как его указать, вроде ж ему должно передаваться значение из dsget, или я чего-то не понимаю? |
переменные в dsmod идут через $$ емнип.
Код:
dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod user -pwd $username$ |
Кстати да, в хэлпе написано что можно через $username$ по крайней мере пути прописывать...
WildCat, попробуйте ;) Кстати, перед всеми манипуляциями сделайте архив System State, чтоб потом если что AD восстановить можно было :) |
Цитата:
проще и дешевле. |
Цитата:
|
WildCat, дак что, у Вас все получилось ? :)
|
А как бы глянуть, что у них там в $username$ прописано?
Потому что dsmod рапортует, что пароль изменен, а какой стал пароль - непонятно... |
имя для входа :)
"Подстановочная переменная $username$ (без учета регистра) может использоваться вместо имени учетной записи SAM в значении параметров -webpg, -profile, -hmdir, и -email." |
значит с паролем не сработало :(
Цитата:
|
Цитата:
P.S. не зря же я cameron благодарность объявил )))) |
там имя petya без регистра
пароль меняется, но на что - непонятно проверяю через "запуск от имени" |
кхм...
пароль стал $username$ %) (т.е. вот этот набор букв с долларами) что я неправильно делаю? |
Теперь в группу добавляется, но если хоть один из пользователей (в списке на добавление) уже в этой группе, то остальные не добавляются. С удалением та же история.
Ставлю -c та же история. |
Цитата:
|
Цитата:
без него никак не получится? (не знаю даже, с какой стороны к нему подступиться :( ) |
Цитата:
|
Ковыряю vbscript
Запускаю через cmd Когда идет команда WScript.Echo то вывод идет во всплывающее окошко, а не в консоль. В файл в итоге тоже не перенаправляется (через '>'). Как с этим бороться? PS Или для этого надо было новую тему создать? PPS Поиском не нашлось :( Не исключаю, что запрос неправильно составляю :( |
при клике мышкой на скрипте используется парсер WScript
просто используйте парсер cscript и вывод будет в консоль в командной строке пишем Код:
cscript c:\mypath\myscript (см ADODB.Stream) |
Вот ничего себе сила внушения! Заработало! (а вчера не работало 8-0)
|
в C:\Windows\System32 должен быть cscript.exe если он там есть - попробуйте его запустить в командной строке находясь в этом каталоге.
|
Можно ли как-то сделать дозапись в лог-файл? Сейчас пользуюсь '>'. Файл перезаписывается. Вроде бы где-то пробегало, что надо писать '>>' но почему-то не срабатывает - файл не перезаписывается, но и не дозаписывается.
|
Возник еще один вопрос в данной задаче.
По пункту "сделать, чтобы пароль = логин" Устанавливаю в VBscript вот так: Код:
objUser.SetPassword lcase(objUser.CN) Необходимо выполнить проверку, сменился ли пароль. Делаю такую проверку Код:
If Err.Number <> 0 Then Где я косячу? PS в начале скрипта прописываю Код:
On Error Resume Next |
Bulk AD Users - полезная штука, позволяет изменять параметры "пачками", бесплатная после регистрации
http://www.wisesoft.co.uk/software/b...s/default.aspx |
Может быть есть какие-то функции, позволяющие проверить, соответствует ли пароль политике безопасности (сложности пароля)?
Или может быть можно как-то проверить, сменился ли пароль? |
Время: 19:56. |
Время: 19:56.
© OSzone.net 2001-