Windows管理用户脚本
Windows 系统删除用户的脚本
第一章 界面介绍
第01节 主界面
第02节 创建用户
第03节 删除用户
第04节 查询用户
第05节 退出操作
第二章 部分代码实现
第01节 外层准备
@echo off
setlocal enabledelayedexpansion
:: 设置控制台编码为 65001 (UTF-8) 936 (GBK)
set UCODE=65001
chcp %UCODE% >nul
:: 检查管理员权限
net session >nul 2>&1
if %errorLevel% neq 0 (echo 正在请求管理员权限...powershell -Command "Start-Process cmd -ArgumentList '/c %~s0' -Verb RunAs"exit /b
)
echo.
echo 当前已是管理员黑窗口, 当前窗口编码 %UCODE%
echo. echo.
pause
第02节 模拟等待
:: 模拟等待时间
: waitTime
timeout /t 2 /nobreak >nul
goto :eof
第03节 退出黑窗口
:: 退出黑窗口
:exitUser
echo.
echo 正在退出.......
echo.
call :waitTime
echo.
exit
第04节 主界面
:: 主菜单函数
:mainMenuecho.echo 请选择您的操作:echo.echo 1. 创建用户echo.echo 2. 删除用户echo.echo 3. 查看用户echo.echo 4. 退出黑窗口echo.set /p choice=请输入 您的选择: if "!choice!"=="1" call :appendUser goto :mainMenuif "!choice!"=="2" call :deleteUser goto :mainMenuif "!choice!"=="3" call :queryUser goto :mainMenuif "!choice!"=="4" call :exitUser
goto :mainMenu
第05节 创建用户
:: 创建用户函数
:appendUser
echo.
echo =========================【 创建用户 开始 】===================================
echo.
for /f "skip=1 tokens=1" %%A in ('wmic ComputerSystem get UserName /value') do (if not "%%A"=="" (for /f "tokens=2 delims=\" %%B in ("%%A") do (echo 目前已登录的用户: %%B))
)
echo.
:: 显示当前用户列表
echo 当前系统中, 所有用户名称, 展示列表如下:
echo.
for /f "skip=4 tokens=*" %%A in ('net user ^| findstr /v /c:"命令 已完成" /c:"The command completed successfully"') do (for %%B in (%%A) do (if not "%%B"=="" echo %%B)
)
echo.
:input_user
set /p "addUser=请输入要创建的用户名: "
if "%addUser%"=="" (echo 错误:用户名不能为空goto input_user
)
echo.
:input_pass
set /p "addPass=请输入要创建的密码: "
if "%addPass%"=="" (echo 错误:密码不能为空goto input_pass
)
echo.
echo 正在创建用户 "%addUser%" .........
net user "%addUser%" %addPass% /add >nul 2>&1
echo.
echo "%addUser%" 创建完毕
echo.
echo =========================【 创建用户 结束 】===================================
call :waitTime
goto :eof
第06节 删除用户
:: 删除用户
:deleteUser
echo.
echo =========================【 删除用户 开始 】===================================
echo.
for /f "skip=1 tokens=1" %%A in ('wmic ComputerSystem get UserName /value') do (if not "%%A"=="" (for /f "tokens=2 delims=\" %%B in ("%%A") do (echo 目前已登录的用户: %%B))
)
echo.
:: 显示当前用户列表
echo 当前系统中, 所有用户名称, 展示列表如下:
echo.
for /f "skip=4 tokens=*" %%A in ('net user ^| findstr /v /c:"命令 已完成" /c:"The command completed successfully"') do (for %%B in (%%A) do (if not "%%B"=="" echo %%B)
)
echo.
echo 您可以采用鼠标双击上面的用户名, 按下快捷键 Ctrl+C 复制之后, 在下面按下 Ctrl + V 粘贴
echo.
:input_user
set /p "delUser=请输入要删除的用户名: "
if "%delUser%"=="" (echo 错误:用户名不能为空goto input_user
):: 确认删除
echo.
echo 警告:您将要删除用户 "%delUser%" 输入 y 表示确认, 输入其他则取消
echo.
set /p "confirm=确认删除吗?(y/n): "
echo.
if /i not "%confirm%"=="y" (echo 操作已取消
) else (echo 正在删除用户 "%delUser%" ......... net user "%delUser%" /delete >nul 2>&1echo. if %errorLevel% equ 0 (echo 用户 "%delUser%" 已成功删除 ) else (echo 删除失败:echo. echo 1、 用户 "%delUser%" 可能不存在echo. echo 2、 或这是系统内置账户echo. echo 3、 或您没有足够权限 )
)
echo.
echo =========================【 删除用户 结束 】===================================
call :waitTime
goto :eof
第07节 查询用户
:: 查询用户函数
:queryUser
echo.
echo =========================【 查询用户 开始 】===================================
echo.
for /f "skip=1 tokens=1" %%A in ('wmic ComputerSystem get UserName /value') do (if not "%%A"=="" (for /f "tokens=2 delims=\" %%B in ("%%A") do (echo 目前已登录的用户: %%B))
)
echo.
:: 显示当前用户列表
echo 当前系统中, 所有用户名称, 展示列表如下:
echo.
for /f "skip=4 tokens=*" %%A in ('net user ^| findstr /v /c:"命令 已完成" /c:"The command completed successfully"') do (for %%B in (%%A) do (if not "%%B"=="" echo %%B)
)
echo.
echo =========================【 查询用户 结束 】===================================
call :waitTime
goto :eof
第三章 核心指令
创建用户
net user 用户名称 密码 /add
删除用户
net user 用户名称 /delete
查看用户
net user
第四章 完整代码实现
@echo off
setlocal enabledelayedexpansion
:: 设置控制台编码为 65001 (UTF-8) 936 (GBK)
set UCODE=65001
chcp %UCODE% >nul
:: 检查管理员权限
net session >nul 2>&1
if %errorLevel% neq 0 (echo 正在请求管理员权限...powershell -Command "Start-Process cmd -ArgumentList '/c %~s0' -Verb RunAs"exit /b
)
echo.
echo 当前已是管理员黑窗口, 当前窗口编码 %UCODE%
echo. :: 主菜单函数
:mainMenuecho.echo 请选择您的操作:echo.echo 1. 创建用户echo.echo 2. 删除用户echo.echo 3. 查看用户echo.echo 4. 退出黑窗口echo.set /p choice=请输入 您的选择: if "!choice!"=="1" call :appendUser goto :mainMenuif "!choice!"=="2" call :deleteUser goto :mainMenuif "!choice!"=="3" call :queryUser goto :mainMenuif "!choice!"=="4" call :exitUser
goto :mainMenu:: 创建用户函数
:appendUser
echo.
echo =========================【 创建用户 开始 】===================================
echo.
for /f "skip=1 tokens=1" %%A in ('wmic ComputerSystem get UserName /value') do (if not "%%A"=="" (for /f "tokens=2 delims=\" %%B in ("%%A") do (echo 目前已登录的用户: %%B))
)
echo.
:: 显示当前用户列表
echo 当前系统中, 所有用户名称, 展示列表如下:
echo.
for /f "skip=4 tokens=*" %%A in ('net user ^| findstr /v /c:"命令 已完成" /c:"The command completed successfully"') do (for %%B in (%%A) do (if not "%%B"=="" echo %%B)
)
echo.
:input_user
set /p "addUser=请输入要创建的用户名: "
if "%addUser%"=="" (echo 错误:用户名不能为空goto input_user
)
echo.
:input_pass
set /p "addPass=请输入要创建的密码: "
if "%addPass%"=="" (echo 错误:密码不能为空goto input_pass
)
echo.
echo 正在创建用户 "%addUser%" .........
net user "%addUser%" %addPass% /add >nul 2>&1
echo.
echo "%addUser%" 创建完毕
echo.
echo =========================【 创建用户 结束 】===================================
call :waitTime
goto :eof:: 删除用户
:deleteUser
echo.
echo =========================【 删除用户 开始 】===================================
echo.
for /f "skip=1 tokens=1" %%A in ('wmic ComputerSystem get UserName /value') do (if not "%%A"=="" (for /f "tokens=2 delims=\" %%B in ("%%A") do (echo 目前已登录的用户: %%B))
)
echo.
:: 显示当前用户列表
echo 当前系统中, 所有用户名称, 展示列表如下:
echo.
for /f "skip=4 tokens=*" %%A in ('net user ^| findstr /v /c:"命令 已完成" /c:"The command completed successfully"') do (for %%B in (%%A) do (if not "%%B"=="" echo %%B)
)
echo.
echo 您可以采用鼠标双击上面的用户名, 按下快捷键 Ctrl+C 复制之后, 在下面按下 Ctrl + V 粘贴
echo.
:input_user
set /p "delUser=请输入要删除的用户名: "
if "%delUser%"=="" (echo 错误:用户名不能为空goto input_user
):: 确认删除
echo.
echo 警告:您将要删除用户 "%delUser%" 输入 y 表示确认, 输入其他则取消
echo.
set /p "confirm=确认删除吗?(y/n): "
echo.
if /i not "%confirm%"=="y" (echo 操作已取消
) else (echo 正在删除用户 "%delUser%" ......... net user "%delUser%" /delete >nul 2>&1echo. if %errorLevel% equ 0 (echo 用户 "%delUser%" 已成功删除 ) else (echo 删除失败:echo. echo 1、 用户 "%delUser%" 可能不存在echo. echo 2、 或这是系统内置账户echo. echo 3、 或您没有足够权限 )
)
echo.
echo =========================【 删除用户 结束 】===================================
call :waitTime
goto :eof:: 查询用户函数
:queryUser
echo.
echo =========================【 查询用户 开始 】===================================
echo.
for /f "skip=1 tokens=1" %%A in ('wmic ComputerSystem get UserName /value') do (if not "%%A"=="" (for /f "tokens=2 delims=\" %%B in ("%%A") do (echo 目前已登录的用户: %%B))
)
echo.
:: 显示当前用户列表
echo 当前系统中, 所有用户名称, 展示列表如下:
echo.
for /f "skip=4 tokens=*" %%A in ('net user ^| findstr /v /c:"命令 已完成" /c:"The command completed successfully"') do (for %%B in (%%A) do (if not "%%B"=="" echo %%B)
)
echo.
echo =========================【 查询用户 结束 】===================================
call :waitTime
goto :eof:: 退出黑窗口
:exitUser
echo.
echo 正在退出.......
echo.
call :waitTime
echo.
exit:: 模拟等待时间
: waitTime
timeout /t 2 /nobreak >nul
goto :eofecho.
pause