Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ::This Script is to change a domain users password
- ::Requires elevation and drive mappings
- ::http://pastebin.com/6bawWDUs
- @Echo off
- Set xdate=%date:~-4,4%%date:~-7,2%%date:~-10,2%
- Set return=^& echo.
- NET USE X: %xdrive% /PERSISTENT:No
- set location=X:\Path\To\Destination
- cd /d %location%
- @mkdir %location%\Logs\PwChanger\%xdate%
- ::Query Available Users
- net user /domain
- :s_routine_2
- SET /P query_user=The Username to have their password changed?
- set log=%location%\Logs\PwChanger\%xdate%\%query_user%.txt
- @echo %time%: %xusername%@%computername% Logged Change of Password on%return% >> %log%
- @echo %time%: %query_user%%return% >> %log%
- Net User %query_user% /domain >> %log%
- ::Existence is Questionable
- if NOT %errorlevel% == 0 goto s_error_1
- ::Are You Sure? Seriously
- CHOICE /C:YNQ /N /D Q /T 35 /m "Change %query_user% password? [Y]yes or [N]No"
- goto s_routine_%ERRORLEVEL%
- :s_routine_1
- net user %query_user% * /domain
- ::Almost there
- if %errorlevel% == 2 goto s_error_3
- if NOT %errorlevel% == 0 goto s_error_2
- ::Success it is done
- @echo %time%: %query_user% Password Changed%return% >> %log%
- @echo -------------------%return% >> %log%
- msg %xusername% "Password Changed for %query_user%"
- Exit
- ::States of Undesired but Possible Choices
- :s_error_1
- @echo %time%: User %query_user% dose not exist >> %log%
- msg %xusername% "User %query_user% dose not exist"
- goto s_routine_2
- :s_error_2
- @echo %time%: Unauthorized Access - %username%@%computername% >> %log%
- msg %xusername% "Unauthorized Access: %username%@%computername%"
- Exit
- :s_error_3
- @echo %time%: Password Requirements not matched - %xusername%@%computername% >> %log%
- msg %xusername% "You need Upper-case, Lower-case and Numbers or Symbols. And To be longer then 8 characters. And not to use a previous password"
- goto s_routine_1
- :s_routine_3
- @echo %time%: Timed out%return% >> %log%
- msg %xusername% "Timed Out"
- ::Because Space is Precious I don't write Exit here but instead I left a comment about it and well yeh.
- :s_routine_0
- @echo %time%: Script Exit%return% >> %log%
- @echo -------------------%return% >> %log%
- Exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement