9394952

导航

随机生成windows用户密码(有复杂度要求)并修改的批处理脚本

@echo off 
setlocal enabledelayedexpansion
title adsomeuser随机密码生成脚本
::设置要生成的密码小写字符长度(位数)
set xs=8
::数字的位数
set sz=2
::大写字母的位数
set dx=1

echo adsomeuser的随机密码生成中。。。

call :random_string 0123456789 !sz! numstr
call :random_string ABCDEFGHIJKLMNOPQRSTUVWXYZ !dx! upstr
call :random_string abcdefghijklmnopqrstuvwxyz !xs! lowstr

net user adsomeuser !upstr!!lowstr!!numstr!
echo,&echo %date%, 办公网 adsomeuser 随机密码 !upstr!!lowstr!!numstr!
::echo,&echo %date%, 办公网 adsomeuser 随机密码 !upstr!!lowstr!!numstr! > d:\adsomeuser_pwd.txt

goto :eof
::程序完成退出

:random_string
::输入参数为字典及长度,返回生成的随机字符串
set "pw="
set orgstr=%1
set strlen=%2
call :strlen !orgstr! orglen
for /l %%a in (1,1,%strlen%) do (
    set /a num=!random!%%!orglen!
    call set zf=%%orgstr:~!num!,1%%
    set pw=!pw!!zf!
    ping 127.0.0.1 -n "1">nul
)
set %3=!pw!
goto :eof

:strlen
::统计字符串长度(限100字符以内)
set checkstr=%1
for /l %%i in (1,1,100) do if "!checkstr:~%%i,1!"=="" set %2=%%i&goto :eof

 目前只能按固定顺序组合,要实现随机顺序还有待优化....

 

posted on 2022-09-30 09:41  9394952  阅读(677)  评论(0编辑  收藏  举报