Показать полную графическую версию : [решено] Определение пользователей и изменение пароля
Приветствую добрые люди.
Помогите!
Нужен скрипт который:
1. определит список все пользователей которые есть в системы (Windows 7)
2. даст выбрать одного из них
1.Паша
2.Маша
3.Антон
Введите пункт для выбора пользователя:_ 1, 2 или 3.
3. и уже на выбранном пользователе Либо автоматически сменить пароль на 0000, либо так же дать выбор на внесение своего пароля.
4. после чего выдать сообщение об успешном изменение пароля на выбранном пользователе.
Еще... данный скрипт будет запускаться от имени System, так как скрипт запускается до ввода пароля пользователя.
Я хочу что бы данный скрипт запускался до запуска пользователя и если есть на нем пароль, изменить его, обходясь без LiveCD.
С этим я уже сам разберусь.
1. определит список все пользователей которые есть в системы (Windows 7) »
wmic.exe UserAccount where "LocalAccount='True'" get name
Дополнительно убрать заблокированные учётные записи:
wmic.exe UserAccount where "LocalAccount='True' AND Disabled='False'" get name
Введите пункт для выбора пользователя:_ 1, 2 или 3. »
choice.exe /?
3. и уже на выбранном пользователе Либо автоматически сменить пароль на 0000, »
net user <Имя> 0000
либо так же дать выбор на внесение своего пароля. »
net user <Имя> *
Iska, за это спасибо!
А можно ли, что бы это все было Автоматизированно?
Только что бы надо было выбрать по нажатию.
На примере:
@echo off
wmic.exe UserAccount where "LocalAccount='True'" get name %user%
:: Меню выбора
set /p choice=Выбере нужного пункт*:
rem if not '%choice%'=='' set choice=%choice:~0;1%
if '%choice%'=='1' goto 1
if '%choice%'=='2' goto 2
if '%choice%'=='3' goto 3
cls
if not '%choice%'=='' echo "%choice%" *Неверное меню
goto start
:1
net user %user% set /p choice= Введите свой пароль
exit
goto start
:2
net user %user% set /p choice= Введите свой пароль
exit
goto start
:3
net user %user% set /p choice= Введите свой пароль
exit
@echo off
setlocal enableextensions enabledelayedexpansion
set /a iCount = 0
for /f "usebackq skip=1 delims=" %%i in (
`wmic.exe UserAccount where "LocalAccount='True' AND Disabled='False'" get Name`
) do for /f %%j in ("%%~i") do (
set /a iCount += 1
set aName!iCount!=%%~j
echo !iCount!. %%~j
)
echo.
set /p sChoice=Select user for change password [1-%iCount%]:
if defined sChoice if defined aName%sChoice% (
echo.
echo Change password for user [!aName%sChoice%!]
net.exe user "!aName%sChoice%!" *
)
endlocal
exit /b 0
Iska, Отдельное спасибо! все работает.
@echo off
COLOR 06
title UserReset
:start
echo 1. TaskMgr - 1
echo 2. Regedit - 2
echo 3. Command Prompt - 3
echo 4. Change Password Users - 4
echo 5. Exit - 5
echo.
set /p choice=Enter the number:
rem if not '%choice%'=='' set choice=%choice:~0;1%
if '%choice%'=='1' goto 1
if '%choice%'=='2' goto 2
if '%choice%'=='3' goto 3
if '%choice%'=='4' goto 4
if '%choice%'=='5' goto 5
if not '%choice%'=='' echo "%choice%" Bad points
goto start
:1
@echo off
TaskMgr.exe
cls
goto start
:2
@echo off
Regedit.exe
cls
goto start
:3
start cmd.exe
cls
goto start
:4
echo.
cls
echo UserName
setlocal enableextensions enabledelayedexpansion
set /a iCount = 0
for /f "usebackq skip=1 delims=" %%i in (
`wmic.exe UserAccount where "LocalAccount='True' AND Disabled='False'" get Name`
) do for /f %%j in ("%%~i") do (
set /a iCount += 1
set aName!iCount!=%%~j
echo !iCount!. %%~j
)
echo.
set /p sChoice=Select user for change password [1-%iCount%]:
if defined sChoice if defined aName%sChoice% (
echo.
echo Change password for user [!aName%sChoice%!]
net.exe user "!aName%sChoice%!" *
)
endlocal
echo Your password was changed successfully
pause
cls
goto start
:5
Exit
В общем вышло что то такое...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.