Иконка ресурса

ChangePassword 16.03.2014

Foxik

Пользователь
Сообщения
41
Реакции
25
Что бы изменить пароль любой локальной учетнои записи пользователя, достаточно запустить этот скрипт, с установочного диска Windows или с диска восстановления, Windows PE или установленной Windows на другом разделе жесткого диска.
CMD/BATCH:
@echo off
color 1f
Echo  ╔════════════════════════════════════════════════════════════════════════════╗
Echo  ║                                                                            ║
Echo  ║                  Change Password User Accounts in Windows                  ║
Echo  ║             Смена пароля учетных записей пользователей Windows             ║
Echo  ║                                                                            ║
Echo  ╚════════════════════════════════════════════════════════════════════════════╝

set DiskRoot=
set count=0
for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%D:\Windows\system32\config\SYSTEM (
if %%D: NEQ %systemdrive% (
set DiskRoot=%%D:
set /a count+=1
)
)
)
If %count% == 0 goto DISK0
If %count% == 1 goto DISK1

echo Найдено более одного раздела с Windows
echo Чтобы выбрать раздел - введите букву диска, в формате C:
set /p %DiskRoot%= Введите букву раздела:
set FilePath=%DiskRoot%\windows\system32\config\system
goto NEXT

:DISK0
Echo Не удалось найти раздел с Windows.
Echo Необходим фаил Disk:\windows\system32\config\system
set /p %FilePath%=Введите путь к фаилу:
if "%FilePath%" == "" (Echo Путь не указан!!! & goto end)
set %DiskRoot%=%FilePath:~0,2%
goto NEXT

:DISK1
Echo Удалось найти раздел с Windows на диске %DiskRoot%.
Echo Чтобы выбрать другой раздел - введите букву диска, в формате C:
set /p %DiskRoot%= Чтобы выбрать %DiskRoot%, нажмите Enter:
set FilePath=%DiskRoot%\windows\system32\config\system

:NEXT
Echo.
Echo Выбран диск %DiskRoot%
if not exist %FilePath% (Echo File not found & goto end)
Echo Фаил %FilePath% найден.
Echo.

reg load HKLM\111 %FilePath%
reg add HKLM\111\Setup /v CmdLine /t REG_SZ /d "cmd.exe /k "%%systemdrive%%"\pass.cmd" /f
reg add HKLM\111\Setup /v SetupType /t REG_DWORD /d 2 /f

echo @echo off>%DiskRoot%\pass.cmd
echo color 1f>>%DiskRoot%\pass.cmd
echo Echo  ╔════════════════════════════════════════════════════════════════════════════╗>>%DiskRoot%\pass.cmd
echo Echo  ║                                                                            ║>>%DiskRoot%\pass.cmd
echo Echo  ║                  Change Password User Accounts in Windows                  ║>>%DiskRoot%\pass.cmd
echo Echo  ║             Смена пароля учетных записей пользователей Windows             ║>>%DiskRoot%\pass.cmd
echo Echo  ║                                                                            ║>>%DiskRoot%\pass.cmd
echo Echo  ╚════════════════════════════════════════════════════════════════════════════╝>>%DiskRoot%\pass.cmd
echo :LIST>>%DiskRoot%\pass.cmd
echo Setlocal EnableExtensions EnableDelayedExpansion>>%DiskRoot%\pass.cmd
echo Echo.>>%DiskRoot%\pass.cmd
echo Echo.         Список локальных пользователей (List of local user accounts):  >>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo  Активные учетные записи (Active users accaunts)══════════════════════════════>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo for /f "usebackq tokens=2 delims==" %%%%a in (`WMIC UserAccount Where "LocalAccount=True And Disabled=False" Get Name /Format:List`) do (>>%DiskRoot%\pass.cmd
echo set /a cnt+=^1>>%DiskRoot%\pass.cmd
echo set "User_!cnt!=%%%%a">>%DiskRoot%\pass.cmd
echo set "summ=!summ!!cnt!">>%DiskRoot%\pass.cmd
echo ECHO.      !cnt!. %%%%a>>%DiskRoot%\pass.cmd
echo )>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo  Неактивные учетные записи(Disabled users accaunts)═══════════════════════════>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo for /f "usebackq tokens=2 delims==" %%%%a in (`WMIC UserAccount Where "LocalAccount=True And Disabled=True" Get Name /Format:List`) do (>>%DiskRoot%\pass.cmd
echo set /a cnt+=^1>>%DiskRoot%\pass.cmd
echo set "User_!cnt!=%%%%a">>%DiskRoot%\pass.cmd
echo set "summ=!summ!!cnt!">>%DiskRoot%\pass.cmd
echo ECHO.      !cnt!. %%%%a>>%DiskRoot%\pass.cmd
echo )>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo     0.  Exit>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo Choice /C 0%%summ%% /M "Выберите номер пользователя(select the number of the user):">>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo set /a choi=%%errorlevel%%-1>>%DiskRoot%\pass.cmd
echo if %%choi%%==0 goto END>>%DiskRoot%\pass.cmd
echo set choi_usr=!User_%%choi%%!>>%DiskRoot%\pass.cmd
echo echo Внимание, вводимые символы не отоброжаются.>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo net user %%choi_usr%% *>>%DiskRoot%\pass.cmd
echo echo %%choi_usr%% -пароль изменен >>%DiskRoot%\pass.cmd
echo Endlocal>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo echo  ════Можите сменить пароль другой учетной записи или нажмите "0" для выхода═══>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo goto LIST>>%DiskRoot%\pass.cmd
echo :END>>%DiskRoot%\pass.cmd
echo.>>%DiskRoot%\pass.cmd
echo echo.>>%DiskRoot%\pass.cmd
echo Endlocal>>%DiskRoot%\pass.cmd
echo color>>%DiskRoot%\pass.cmd
echo reg add HKLM\SYSTEM\Setup /v CmdLine /t REG_SZ /d "" /f>>%DiskRoot%\pass.cmd
echo.>>%DiskRoot%\pass.cmd
echo Echo  ═════════════ Для выхода просто закройте окно командной строки ══════════════>>%DiskRoot%\pass.cmd
echo.>>%DiskRoot%\pass.cmd
echo start cmd /k "timeout /T 2 > nul&del /Q %DiskRoot%\pass.cmd&exit">>%DiskRoot%\pass.cmd
:end
Echo.
Echo.
Echo.
Echo.
Echo OK.
color

На написание скрипта меня с подвигло прочтение этой статьи.
Отдельное спасибо, Dragokas.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,646
Реакции
6,117
Koza Nozdri, не думаю, что у него есть права на это.
Foxik,
запустить этот скрипт, с установочного диска Windows или с диска восстановления, Windows PE или установленной Windows на другом разделе жесткого диска.
Почему нельзя тоже самое сделать для активной системы?
 

Foxik

Пользователь
Сообщения
41
Реакции
25
Dragokas, смысла нет. В активной системе достаточно других средств для изменения пароля.
Скрипт нужен когда пользователь забыл пароль и не может воити в системуЕго можно просто добавить к Win RE или PE, что бы легче было сбрасывать/менять пароль.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,646
Реакции
6,117
1. Создание файла в корне диска (даже из другой системы) может быть ограничено правами NTFS.
2.
Можите сменить пароль
Можете
3) В конце первой части неплохо бы оповещение "Для продолжения необходимо перезагрузить систему."
3) С какими ОС совместим скрипт?
 

Foxik

Пользователь
Сообщения
41
Реакции
25
1. Создание файла в корне диска (даже из другой системы) может быть ограничено правами NTFS.
Тогда Format, мне кажется мало уже что поможет...
Можете
3) В конце первой части неплохо бы оповещение "Для продолжения необходимо перезагрузить систему."
Я не могу редактировать...

Запускал на Win7 32,Win8 32грум,
А если вирус изменил?
Должен... т.к. пароль меняется средствами Windows
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,646
Реакции
6,117
Тогда Format, мне кажется мало уже что поможет...
при чем тут.
Речь идет о том, что этот момент нужно заранее проверять.
И есть нет доступа, просить запустить с правами Администратора.
Я не могу редактировать...
И не нужно. Потом исправим.
 

Foxik

Пользователь
Сообщения
41
Реакции
25
glax24, Autoit это хорошо. Сам им активно пользуюсь и с удовольствием. Но CMD в некоторых случаях имеет преимущество. А сторонних утилит полно.
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
13,250
Реакции
6,441
Пользователь regist разместил новый ресурс:

ChangePassword - Сброс/изменение забытого пароля в Windows

Что бы изменить пароль любой локальной учетнои записи пользователя, достаточно запустить этот скрипт, с установочного диска Windows или с диска восстановления, Windows PE или установленной Windows на другом разделе жесткого диска.
На написание скрипта меня с подвигло прочтение этой статьи.
Отдельное спасибо, Dragokas.

Узнать больше об этом ресурсе...
Koza Nozdri, не думаю, что у него есть права на это.
в этот раздел или как минимум в разработки права добавлять есть у всех.
Foxik, залил ваш файл ресурсы, эту темы тоже туда прилепил. Добавьте/исправьте описание ресурса и версию если считаете нужным. Редактировать надо на вкладке Обзор.
 
Последнее редактирование:

Foxik

Пользователь
Сообщения
41
Реакции
25
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,646
Реакции
6,117
Согласен, но я запускаю из Win PE и Win RE. А там CMD.exe с правами Админа
с установочного диска Windows или с диска восстановления, Windows PE или установленной Windows на другом разделе жесткого диска.
А из другой винды - будет без прав Админа.
 

Phoenix

Аксакал
Сообщения
2,121
Реакции
1,865
Для чего это нужно ? Сброс пароля в обход администратора ? Зачем ставить пароль, если нет администратора ?
(для справки)
Примечание

Если пароль сброшен администратором, доступ к некоторым файлам может быть утерян. Дополнительные сведения см. в разделе В чем опасность сброса пароля?
Для безопасного сброса пароля рекомендуется использовать диск сброса пароля. При сбросе пароля другого пользователя с использованием учетной записи администратора этот пользователь не сможет получить доступ к собственным зашифрованным файлам, сообщениям электронной почты и сохраненным паролям веб-сайтов и сетевых ресурсов.
Если пользователь не хранит указанные выше элементы, или их потеря незначительна для пользователя, то сброс пароля с использованием учетной записи администратора является наиболее простым способом восстановления забытого пароля.
 
Сверху Снизу