User must change password Powershell.

User must change password

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

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

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

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

User must change password

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

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

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

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

Еще:  Ошибка SSL_ERROR_UNSUPPORTED_VERSION SSLv3

user must change password

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

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

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

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

Еще:  exe to msi. Как создать пакет msi из exe-файла.

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

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

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

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

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

Возможно, вы захотите узнать как получить имя владельца процесса при помощи Powershell на локальном или удаленном компьютере.

Комментарии

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

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