Определение пользователей и изменение пароля
Приветствую добрые люди.
Помогите!
Нужен скрипт который:
1. определит список все пользователей которые есть в системы (Windows 7)
2. даст выбрать одного из них
1.Паша
2.Маша
3.Антон
Введите пункт для выбора пользователя:_ 1, 2 или 3.
3. и уже на выбранном пользователе Либо автоматически сменить пароль на 0000, либо так же дать выбор на внесение своего пароля.
4. после чего выдать сообщение об успешном изменение пароля на выбранном пользователе.
Еще... данный скрипт будет запускаться от имени System, так как скрипт запускается до ввода пароля пользователя.
Я хочу что бы данный скрипт запускался до запуска пользователя и если есть на нем пароль, изменить его, обходясь без LiveCD.
С этим я уже сам разберусь.
|
Цитата:
Цитата O L E G
1. определит список все пользователей которые есть в системы (Windows 7) »
|
Код:
wmic.exe UserAccount where "LocalAccount='True'" get name
Дополнительно убрать заблокированные учётные записи:
Код:
wmic.exe UserAccount where "LocalAccount='True' AND Disabled='False'" get name
Цитата:
Цитата O L E G
Введите пункт для выбора пользователя:_ 1, 2 или 3. »
|
Цитата:
Цитата O L E G
3. и уже на выбранном пользователе Либо автоматически сменить пароль на 0000, »
|
Цитата:
Цитата O L E G
либо так же дать выбор на внесение своего пароля. »
|
|
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
В общем вышло что то такое...
|
Время: 07:47.
© OSzone.net 2001-