Как сбросить пароль локального и доменного пользователя с помощью powershell?

текстиль для домамодули Joomla 2.5

В операционных системах Windows XP и 2003, когда подходило время для смены пароля, пользователь получал уведомление в виде отдельного диалогового окна. В Windows Vista и более поздних это оповещение убрали, заменив его всплывающим окном в панеле задач, которое пропадает достаточно быстро (5 секунд) и зачастую пользователь просто не успевает его увидеть.

Данную проблему можно решить только РѕРґРЅРёРј СЃРїРѕСЃРѕР±РѕРј — запихнув нужный СЃРєСЂРёРїС‚ РІ политику User Configuration — Policies — Windows Settings — Scripts (Logon/Logoff) — Logon.

А вот и сам скрипт, который я предлагаю вам использовать для этой задачи:

————————————— начало скрипта ———————————————

Const PWDAge = 26 ‘укажите РєРѕР»-РІРѕ дней, РїРѕ истичению которых пользователю будет выдано оповещениеConst PWDExpiries = 30 ‘укажите СЃСЂРѕРє действия паролей пользователей РІ вашем домене

Const MsgTitle = «РќР°РїРѕРјРёРЅР°РЅРёРµ Рѕ смене пароля»Const MsgPart1 = «Р’аш текущий пароль устаревает через «Const MsgPart2 = » РґРЅСЏ.» Const MsgPart3 = «РџРѕР¶Р°Р»СѓР№СЃС‚Р°, РЅРµ забудьте сменить ваш пароль РґРѕ «Const MsgPart4 = «.»

Dim oEnv : Set oEnv = CreateObject( «WScript.Shell» ).Environment( «PROCESS» )Dim oADS : Set oADS = CreateObject( «ADSystemInfo» )

Dim objUser, strPWDate, intPWAge

strPWDate = GetObject( «LDAP://» & oEnv( «USERDNSDOMAIN» ) & «/» & oADS.UserName ).PasswordLastChangedintPWAge = DateDiff( «d», strPWDate, Now )If intPWAge > PWDAge And intPWAge <= PWDExpiries Then MsgBox MsgPart1 & PWDExpiries — intPWAge & MsgPart2 & vbCrLf & MsgPart3 & strPWDate + PWDExpiries & MsgPart4, VbOkOnly, MsgTitle End If

————————————— конец скрипта ———————————————

Скрипт для массовой смены пароля у локального администратора для PowerShell 5.1 и выше

В Windows 10 build 1607 и выше, новый Powershell 5.1 представил командлет. Вы можете использовать его для этой задачи вместо адаптера ADSI, но для этого требуется, чтобы на удаленных компьютерах была включена служба удаленного взаимодействия Powershell (которая по умолчанию отключена). Чтобы разрешить прием удаленных команд, вам необходимо запустить run в терминале Powershell с повышенными привилегиями на удаленном компьютере.

Если удаленное взаимодействие PS включено, измененный сценарий будет выглядеть следующим образом:

Для одного компьютера

$computer = Read-Host -Prompt «Введите имя компьютера»; If (Test-Connection -ComputerName $computer -Count 2 -Quiet) { Write-Host «Пытаюсь проверить компьютер на пакеты ping»; Invoke-Command -ComputerName $computer -ScriptBlock { $credential = Get-Credential -UserName «Администратор» -Message «Введите новый пароль»; If ($credential -eq $null) { Write-Warning «The username and/or the password is empty! I quit.»; Exit; } Set-LocalUser -Name $credential.UserName -Password $credential.Password; } } Else { Write-Warning «Компьютер не отвечает на Ping.»; }

Для списка компьютеров

$computer = «C:\Temp\comps.txt» foreach ($computerName in (Get-Content $computer)) { If (Test-Connection -ComputerName $computerName -Count 2 -Quiet) { Write-Host «Пытаюсь проверить компьютер на пакеты ping»; Invoke-Command -ComputerName $computerName -ScriptBlock { $credential = Get-Credential -UserName «Администратор» -Message «Введите новый пароль»; If ($credential -eq $null) { Write-Warning «The username and/or the password is empty! I quit.»; Exit; } Set-LocalUser -Name $credential.UserName -Password $credential.Password; } } Else

{ Write-Warning «Компьютер не отвечает на Ping.»; } }

На этом у меня все, как говорится нет пределу совершенства. и вы можете написать куда лучше и поделиться со мной и читателями. С вами был Иван Семин. автор и создатель IT портала Pyatilistnik.org.

Сброс пароля пользователя

Сброс пароля пользователя с помощью интерфейса Windows
  1. Чтобы открыть оснастку «Active Directory — пользователи и компьютеры», нажмите кнопку Пуск, выберите Панель управления, дважды щелкните Администрирование, а затем дважды щелкните Active Directory — пользователи и компьютеры.

  2. В дереве консоли щелкните пункт Пользователи.

    Местонахождение

    Active Directory — пользователи и компьютеры\domain node\Пользователи

    Или щелкните папку, которая содержит нужную учетную запись пользователя.

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

  4. Введите пароль и затем подтвердите его.

  5. Если необходимо, чтобы пользователь изменил этот пароль при следующем входе в систему, установите флажок Требовать смену пароля при следующем входе в систему.

Дополнительная информация

  • Для выполнения этой процедуры необходимо быть членом группы «Операторы учета», «Администраторы домена» или «Администраторы предприятия» в доменных службах Active Directory либо должны быть делегированы соответствующие полномочия. По соображениям безопасности для выполнения этой процедуры рекомендуется использовать команду Запуск от имени.
  • Чтобы открыть оснастку «Active Directory — пользователи и компьютеры» другим способом, нажмите кнопку Пуск, выберите пункт Выполнить, а затем введите dsa.msc.
  • Службы, проверка подлинности которых выполняется по с учетной записи пользователя, необходимо сбросить, если пароль учетной записи пользователя для соответствующей службы был изменен.
  • Задачу этой процедуры можно также выполнить, используя Модуль Active Directory для Windows PowerShell. Чтобы открыть Модуль Active Directory, нажмите кнопку Пуск и последовательно выберите пункты Администрирование и Модуль Active Directory для Windows PowerShell. Дополнительные сведения см. в статье «Сброс пароля пользователя» (страница может быть на английском языке) (https://go.microsoft.com/fwlink/?LinkId=138370). Дополнительные сведения о Windows PowerShell см. в статье о Windows PowerShell (страница может быть на английском языке) (https://go.microsoft.com/fwlink/?LinkId=102372).
Переустановка пароля пользователя с помощью командной строки
  1. Чтобы открыть командную строку, нажмите кнопку Пуск, выберите пункт Выполнить, введите cmd, а затем нажмите кнопку ОК.

  2. Введите указанную ниже команду и нажмите клавишу ВВОД.

    dsmod user <UserDN> -pwd <NewPassword> -mustchpwd {yes|no}
Параметр Описание

<DN_пользователя>

Задает различаемое имя пользователя, пароль которого будет переустановлен.

-pwd

Задает <новый_пароль>.

<новый_пароль>

Задает пароль, который заменит текущий пароль пользователя.

-mustchpwd

Задает флаг pwdExpired.

{yes|no}

Задает значение флага pwdExpired.

Для просмотра полного синтаксиса данной команды и сведений о вводе в командную строку информации учетной записи пользователя введите следующую команду, а затем нажмите клавишу ВВОД.

dsmod user /? 

Дополнительная информация

  • Для выполнения этой процедуры необходимо быть членом группы «Операторы учета», «Администраторы домена» или «Администраторы предприятия» в доменных службах Active Directory либо получить соответствующие полномочия путем делегирования. По соображениям безопасности для выполнения этой процедуры рекомендуется использовать команду Запуск от имени.
  • Если пароль не назначен, при первой попытке пользователя войти в систему (с помощью пустого пароля) отобразится сообщение «Необходимо изменить пароль при первом входе в систему». Когда пользователь изменит пароль, процесс входа продолжится.
  • Службы, проверка подлинности которых выполняется по учетной записи пользователя, необходимо сбросить, если пароль учетной записи пользователя для соответствующей службы был изменен.
  • Задачу этой процедуры можно также выполнить, используя Модуль Active Directory для Windows PowerShell. Чтобы открыть Модуль Active Directory, нажмите кнопку Пуск и последовательно выберите пункты Администрирование и Модуль Active Directory для Windows PowerShell. Дополнительные сведения см. в статье «Сброс пароля пользователя» (страница может быть на английском языке) (https://go.microsoft.com/fwlink/?LinkId=138370). Дополнительные сведения о Windows PowerShell см. в статье о Windows PowerShell (страница может быть на английском языке) (https://go.microsoft.com/fwlink/?LinkId=102372).

Смена пароля в ОС Windows Server 2016

ОС Windows Server 2016 радует своим расположением к пользователю, но чтобы изменить удаленно пароль, все равно нужно поискать этот пункт.

Открываем меню Пуск и кликаем по значку пользователя, в открывшемся меню выбираем “Изменить параметры учетной записи”.

Скриншот №9. Меню пуск в Windows 16

В открывшемся окне “Параметры” выбираем “Параметры входа”, а в секции Пароль кликаем по кнопке Изменить.

Скриншот №10. Пункт «Параметры входа»

В новом окне, указываем текущий пароль и кликаем по кнопке Далее.

Скриншот №11. Ведение текущего пароля

Окно обновится и запросит новый пароль, его подтверждение, а также подсказку к паролю. Кликаем по кнопке далее. В итоге, кликаем по кнопке Готово. Следующий вход в систему будет происходить под новым паролем.

Скриншот №12. Введение нового пароля

Альтернативный способ

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

В меню Пуск, выбираем Администрирование (“Средства администрирования” в Windows Server 2016).

Скриншот №13. Альтернативный метод через пункт «Администрирование»

В новом окне двойным кликом мыши открываем “Управление компьютером”.

Скриншот №14. Управление компьютером

В левой части открывшегося окна раскрываем ветку “Локальные пользователи и группы” и открываем папку Пользователи. В основной части окна, кликаем правой кнопкой мыши по пользователю и в контекстном меню выбираем “Задать пароль…”.

Скриншот №15. Задать пароль для пользователя

Система выдаст предупреждение. Внимательно прочитав которое и осознав все риски кликаем по кнопке “Продолжить”. В противном случае — “Отмена”.

Скриншот №16. Предупреждение системы

В новом окне указываем новый пароль и его подтверждение. По окончании кликаем по кнопке OK.

Скриншот №17. Введение нового пароля

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

700
300

Справочные материалы

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

Рекомендации

  • Настройте периодическое истечении срока действия паролей пользователей. Пользователям необходимо предупредить о том, что срок действия пароля истекает или они могут быть заблокированы в системе.
  • Настройка интерактивного учетного записи для пользователя: запрос на изменение пароля до истечения срока действия на пять дней. Если срок действия пароля истекает через пять или менее дней, пользователи будут видеть диалоговое окно при каждом входе в домен.
  • Если для политики установлено нулевое значение, при входе пользователя в систему предупреждение об истечении срока действия пароля не будет. Во время продолжительного сеанса доступа к учетной записи вы получите предупреждение в день истечении срока действия пароля или при истечении срока действия пароля.

Расположение

Конфигурация компьютера\Политики\Параметры Windows\Параметры безопасности\Локальные политики\Параметры безопасности

Значения по умолчанию

В следующей таблице перечислены значения по умолчанию для этой политики. Значения по умолчанию также можно найти на странице свойств политики.

Тип сервера или объект групповой политики Значение по умолчанию
Default Domain Policy Не определено
Политика контроллера домена по умолчанию Не определено
Параметры по умолчанию для автономного сервера Пять дней
Эффективные параметры по умолчанию для DC Пять дней
Действующие параметры по умолчанию для рядового сервера Пять дней
Действующие параметры по умолчанию для клиентского компьютера Пять дней

Справочные материалы

Член домена: отключение параметра политики изменения пароля учетной записи компьютера определяет, периодически ли член домена изменяет пароль учетной записи компьютера. Если параметр имеет значение Enabled, член домена не может изменить пароль учетной записи компьютера. Если параметр имеет значение Disabled, участник домена может изменить пароль учетной записи компьютера, указанный в параметре политики «Домен: максимальный срок жизни пароля учетной записи компьютера», который по умолчанию составляет 30 дней.

По умолчанию устройства, принадлежащие домену, должны автоматически изменять пароли учетных записей каждые 30 дней. Устройства, которые больше не могут автоматически менять пароль компьютера, находятся под угрозой определения пользователем пароля для учетной записи домена системы.
Убедитесь, что для параметра «Член домена: отключение изменения пароля учетной записи компьютера» установлено «Отключено».

Рекомендации

  1. Не в включаете этот параметр политики. Пароли учетных записей компьютера используются для обеспечения безопасного канала связи между членами и контроллерами домена, а также между контроллерами домена в домене. После этого безопасный канал передает конфиденциальную информацию, необходимую для принятия решений о проверке подлинности и авторизации.

  2. Не используйте этот параметр политики для поддержки сценариев двойной загрузки, которые используют ту же учетную запись компьютера. Если вы хотите настроить установку с двумя загрузками, которые присоединяются к одному домену, придате этим двум установкам разные имена компьютеров. Этот параметр политики был добавлен в операционную систему Windows, чтобы помочь организациям, которые более позднее помещались в эксплуатацию на готовых компьютерах. Эти устройства не нужно повторно соединять с доменом.

  3. Этот параметр политики можно использовать в определенных средах, например:

    • Постоянные реализации инфраструктуры виртуальных рабочих стола. В таких реализациях каждый сеанс начинается с базового образа только для чтения.
    • Внедренные устройства, которые не имеют доступа на записи к тому ОС.

    В любом случае смена пароля, выполненная во время обычных операций, будет потеряна сразу после окончания сеанса. Настоятельно рекомендуется планировать смену паролей для окон обслуживания. Добавьте изменения паролей в обновления и изменения, выполняемые Windows во время периодов обслуживания. Чтобы запустить обновление пароля для определенного тома ОС, запустите следующую команду:

    В этой команде <AD DS domain name> представляет домен локального компьютера. Дополнительные сведения о окнах обслуживания и несохраняемой реализации VDI см. в подмене Windows 10 версии 1803 для роли инфраструктуры виртуальных рабочих стола (VDI): принципы оптимизации .

Расположение

Конфигурация компьютера\Параметры Windows\Параметры безопасности\Локальные политики\Параметры безопасности

Значения по умолчанию

В следующей таблице перечислены фактические и эффективные значения по умолчанию для этой политики. Значения по умолчанию также можно найти на странице свойств политики.

Тип сервера или объект групповой политики Значение по умолчанию
Default Domain Policy Отключено
Политика контроллера домена по умолчанию Отключено
Параметры по умолчанию для автономного сервера Отключено
Эффективные параметры по умолчанию для DC Отключено
Действующие параметры по умолчанию для рядового сервера Отключено
Действующие параметры по умолчанию для клиентского компьютера Отключено

Скрипт для массовой смены пароля у локального администратора для PowerShell 5.1 и ниже

Хочу напомнить, что если вы скачаете готовый скрипт у меня в виде ps1 файла. то вам нужно разрешить запуск неподписанных скриптов в powerShell, если будите запускать из под PowerShell ISE. то ничего дополнительного делать не нужно

Я уверен, что на серверах из списка вы администратор. Я для примера буду производить смену пароля у локальной учетной записи «Администратор», хотя по хорошему вы ее должны переименовать или отключить вообще, создав другую. Откройте PowerShell ISE и скопируйте скрипт.

# Задаем месторасположение нашего файла со списком серверов

$computer = «C:\Temp\comps.txt» foreach($computerName in (Get-Content $computer)) {

#Устанавливаем новый пароль $adminPassword = «123456A@»

#задаем какую учетную запись мы будим изменять $adminUser = «WinNT://$computerName/Администратор» $adminUser.SetPassword($adminPassword) }

Можно использовать еще вот такой вариант для списка:

$computer = «C:\Temp\comps.txt» foreach ($computerName in (Get-Content $computer)) { Write-Host «Tryimg to process computer $computerName»

If (Test-Connection -ComputerName $computerName -Count 2 -Quiet) { Write-Host «Компьютер отвечает на Ping»;

$credential = Get-Credential -UserName «Администратор» -Message «Вводим новый пароль»;

If ($credential -eq $null) { Write-Warning «The username and/or the password is empty! I quit.»; Exit; }

$user = «WinNT://$computer/$($credential.GetNetworkCredential().Username),user»; $user.SetPassword($credential.GetNetworkCredential().Password); $user.SetInfo(); } Else { Write-Warning «Компьютер не отвечает.»; } }

Или вариант для одного компьютера

$computer = Read-Host -Prompt «Введите имя компьютера»; If (Test-Connection -ComputerName $computer -Count 2 -Quiet) { Write-Host «The computer responded to our ping request. Connecting…»; $credential = Get-Credential -UserName «Администратор» -Message «Вводим новый пароль»; If ($credential -eq $null) { Write-Warning «The username and/or the password is empty! I quit.»; Exit; } $user = «WinNT://$computer/$($credential.GetNetworkCredential().Username),user»; $user.SetPassword($credential.GetNetworkCredential().Password); $user.SetInfo(); } Else { Write-Warning «Компьютер не отвечает.»; }

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: