Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2008/2008 R2 (http://forum.oszone.net/forumdisplay.php?f=97)
-   -   как "заставить" всех пользователей сменить пароли? (http://forum.oszone.net/showthread.php?t=268172)

Терентий 16-09-2013 11:52 2218676

как "заставить" всех пользователей сменить пароли?
 
Здравствуйте.
Есть сервер терминалов на машине с windows 2008 r2. Заведены сотни пользователей. Нужно, чтобы при следующем входе в систему всем требовалось сменить пароль. Как это можно сделать? лучше всего, конечно, из командной строки. Подскажите, кто знает. Никакого домена нет.
P.S. по-видимому, не могу верно сформулировать задачу, поэтому гугл не помог :(

Warvar2 16-09-2013 12:29 2218699

Может поможет gpedit.msc ?

Computer Configuration\Policies\Windows Settings\Security Settings'Account Policies\Password Policy

Правда политика будет применятся на всех без исключения (без домена)

Терентий 16-09-2013 12:42 2218708

я так понимаю, что политика будет работать при каждом входе в систему? А мне бы надо разово. Обновили пароли и всё пока. Аналогично тому, что в свойствах пользователя поставить галочку "требовать смены пароля при следующем входе в систему", но сразу для всех пользователей

Warvar2 16-09-2013 13:27 2218743

Политика не при каждом входе, а постоянно. Вы как-бэ там настраивает правила паролей (в рускоязычной версии винды, можно почитать все описания). Но если у всех пользователей в профиле стоит галочка "Password never expires", то вроде правило по возрасту игнорируются. Могу ошибатся :) Лучше поэксперементировать на отдельной машине.

Iska 16-09-2013 19:55 2218939

Терентий, опробуйте скрипт подобного вида на той машине, где содержатся локальные учётные записи пользователей:
Код:

Option Explicit

Dim objIADsContainer
Dim objIADsUser

Set objIADsContainer = GetObject("WinNT://.,computer")

objIADsContainer.Filter = Array("user")

For Each objIADsUser In objIADsContainer
        WScript.Echo objIADsUser.Name
       
        Select Case objIADsUser.Name
                Case "Администратор", "Гость", "Иванов", "Петров" , "Сидоров"
                        'Nothing to do
                Case Else
                        objIADsUser.Put "PasswordExpired", 1
                        objIADsUser.SetInfo

        End Select
Next

Set objIADsContainer = Nothing

WScript.Quit 0

Здесь перечислены имена учётных записей, к которым не будет применяться требование смены пароля при очередном входе. Добавьте в это перечисление также все служебные учётные записи.

Данным же кодом задаётся данное требование всем прочим, не перечисленным выше, учётным записям. Для начала Вы можете просто закомментировать выделенный красным цветом код и, выполнив скрипт под «cscript.exe», посмотреть, какие вообще учётные записи будут обрабатываться, и, на основании увиденного, принимать решение.

Терентий 17-09-2013 12:04 2219239

Iska, Спасибо, примерно это мне и требовалось!


Время: 16:42.

Время: 16:42.
© OSzone.net 2001-