User must change password. Снимаем и ставим галку при помощи Powershell.

User must change password.Требовать смены пароля при следующем входе.

Не знаю, многие ли сталкиваются с проблемой массового изменения(создания, настройки, добавления в группы) локальных пользователей. Мне пришлось.

Вопрос массового создания локальных пользователей был описан в статье. Сегодняшняя тема — дополнение к ней.

Как вы знаете, заставить пользователя сменить пароль при первом входе можно из графического интерфейса:

User must change password

Но, если это нужно проделать с десятками или сотнями юзеров? Этот вариант не самый веселый.

Естественно, сразу на ум приходит использование командной строки или Powershell.

В этой статье мы посмотрим, как снять или поставить чекбокс о необходимости смены пароля пользователем при помощи маленькой «скриптюшечки» Powershell.

Когда я столкнулся с необходимостью поставить этот чекбокс у многих пользователей, я сразу решил сделать это при помощи Powershell, но, как оказалось, что именно этот чекбокс Powershell легко ставить и снимать не умеет.

Читайте также:  Горячие клавиши Windows 7.

user must change password

То есть, вы можете отключить пользователя, разрешить или запретить ему менять пароль и т.д., но просто поставить и снять эту галку не сможете.

Ну что же, не сможем просто, будем искать «хоть как».

После довольно продолжительного «хождения в Гугл» мне удалось раскопать способ заставить эту «непокорную галку» ставиться и сниматься по нашему желанию.

Ниже приведены строчки, которые нам нужны(не забудьте запустить Powershell от имени Администратора):

$Path_to_csv = Read-Host "Введите путь до файла-списка пользователей"
$users = Import-Csv $Path_to_csv -Encoding Default -Delimiter ";"
foreach ($user in $users)
{
$user = Get-LocalUser -Name $user.Name
$usr = [ADSI]"WinNT://localhost/$user"
$usr.passwordExpired = 1
$usr.setinfo()
}

       -Параметр .passwordExpired делает пароль пользователя истекшим, что как раз и ставит или снимает чекбокс «User must change password». Если присвоить ему значение = 1, то галка поставится, если = 0, то снимется. 

Читайте также:  CMD. Управление пользователями в Windows.

В этом скрипте пользователи берутся из файла .csv. О том, как должен выглядеть этот файл, читайте в статье 

Powershell. Как создать локальных пользователей и добавить их в группы.

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

Основой для скрипта послужила заметка https://gallery.technet.microsoft.com/scriptcenter/PowerShell-to-force-a-2db5562c

Поделиться ссылкой:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.