Foxik
Новый пользователь
- Сообщения
- 41
- Реакции
- 26
Что бы изменить пароль любой локальной учетнои записи пользователя, достаточно запустить этот скрипт, с установочного диска Windows или с диска восстановления, Windows PE или установленной Windows на другом разделе жесткого диска.
На написание скрипта меня с подвигло прочтение этой статьи.
Отдельное спасибо, Dragokas.
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.