Windows管理用户脚本

发布于:2025-08-02 ⋅ 阅读:(17) ⋅ 点赞:(0)

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节 主界面

:: 主菜单函数   
:mainMenu
	echo.
    echo  请选择您的操作:
	echo.
    echo  1. 创建用户
	echo.
    echo  2. 删除用户
	echo.
    echo  3. 查看用户
	echo.
	echo  4. 退出黑窗口
	echo.
    set /p choice=请输入 您的选择:  
    
    if "!choice!"=="1" call :appendUser   goto :mainMenu
    if "!choice!"=="2" call :deleteUser   goto :mainMenu
    if "!choice!"=="3" call :queryUser    goto :mainMenu
    if "!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>&1
	echo. 
	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. 

:: 主菜单函数   
:mainMenu
	echo.
    echo  请选择您的操作:
	echo.
    echo  1. 创建用户
	echo.
    echo  2. 删除用户
	echo.
    echo  3. 查看用户
	echo.
	echo  4. 退出黑窗口
	echo.
    set /p choice=请输入 您的选择:  
    
    if "!choice!"=="1" call :appendUser   goto :mainMenu
    if "!choice!"=="2" call :deleteUser   goto :mainMenu
    if "!choice!"=="3" call :queryUser    goto :mainMenu
    if "!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>&1
	echo. 
	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 :eof

echo. 
pause





网站公告

今日签到

点亮在社区的每一天
去签到