Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Определение пользователей и изменение пароля (http://forum.oszone.net/showthread.php?t=279366)

O L E G 17-03-2014 10:37 2324714

Определение пользователей и изменение пароля
 
Приветствую добрые люди.
Помогите!
Нужен скрипт который:
1. определит список все пользователей которые есть в системы (Windows 7)
2. даст выбрать одного из них
1.Паша
2.Маша
3.Антон
Введите пункт для выбора пользователя:_ 1, 2 или 3.
3. и уже на выбранном пользователе Либо автоматически сменить пароль на 0000, либо так же дать выбор на внесение своего пароля.
4. после чего выдать сообщение об успешном изменение пароля на выбранном пользователе.

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

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

Iska 17-03-2014 12:53 2324777

Цитата:

Цитата 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. »

Код:

choice.exe /?
Цитата:

Цитата O L E G
3. и уже на выбранном пользователе Либо автоматически сменить пароль на 0000, »

Код:

net user <Имя> 0000
Цитата:

Цитата O L E G
либо так же дать выбор на внесение своего пароля. »

Код:

net user <Имя> *

O L E G 17-03-2014 13:16 2324784

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


Iska 18-03-2014 01:44 2325046

Код:

@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


O L E G 18-03-2014 09:28 2325112

Iska, Отдельное спасибо! все работает.

O L E G 18-03-2014 13:53 2325211

Код:

@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.

Время: 07:47.
© OSzone.net 2001-