对于 Windows 系统管理员来说,经常遇到的操作可能包括:
-
进程
-
服务
-
注册表
-
任务计划
-
防火墙
-
网络
-
用户和组
-
共享
-
FTP
1、基本命令实例
# 创建本地组 BatHomeAdmins
net localgroup BatHomeAdmins /add /comment:"The group of administrators"
# 创建本地组 BatHomeUsers
net localgroup BatHomeUsers /add
# 添加组的描述
net localgroup BatHomeUsers /comment:"The group of users"
# 删除组的描述
net localgroup BatHomeUsers /comment:""
# 创建本地用户 BatAdmName1 密码为 BatAdmPass1
net user BatAdmName1 BatAdmPass1 /add
# 创建本地用户 BatUsrName1 密码为 BatUsrPass1
net user BatUsrName1 BatUsrPass1 /add
# 创建本地用户 BatUsrName2 密码为 BatUsrPass2
net user BatUsrName2 BatUsrPass2 /add
# 把用户添加到一个组
net localgroup BatHomeAdmins BatAdmName1 /add
net localgroup BatHomeUsers BatUsrName1 /add
net localgroup BatHomeUsers BatUsrName2 /add
# 查看一个组里面有哪些用户
net localgroup BatHomeAdmins
net localgroup BatHomeUsers
# 从组里面删除一个用户
net localgroup BatHomeUsers BatUsrName2 /delete
# 删除本地组
net localgroup BatHomeAdmins /delete
net localgroup BatHomeUsers /delete
# 查看一个用户属于哪些组
net user BatAdmName1 | findstr /i /b "本地组成员"
net user BatUsrName1 | findstr /i /b "本地组成员"
# 查看用户列表
net users
wmic useraccount get name /value | findstr "="
# 查看某个用户的详细信息
net user BatAdmName1
wmic useraccount where name='BatAdmName1' get * /value
# 添加用户的描述
net user BatAdmName1 /comment:"The administrator user"
# 删除用户的描述
net user BatAdmName1 /comment:""
# 设置一个用户的全名
net user BatAdmName1 /fullname:"Guan Liyuan"
# 更改用户的密码
net user BatAdmName1 BatAdmPassNew
# 把用户的密码更改为空
net user BatAdmName1 ""
# 禁用一个用户
net user BatAdmName1 /active:no
# 启用一个用户
net user BatAdmName1 /active:yes
# 设置用户可以登录的时间为周一到周五早九晚六
net user BatAdmName1 /time:M-F,09:00-18:00
# 设置用户随时可以登录
net user BatAdmName1 /time:all
# 删除一个用户
net user BatUsrName2 /delete
# 获取某个用户的SID
wmic useraccount where name='BatUsrName1' get SID /value
# 设置某个用户下次登录须修改密码
net user BatUsrName1 /logonpasswordchg:yes
# 取消某个用户下次登录须修改密码
net user BatUsrName1 /logonpasswordchg:no
# 设置某个用户的密码永不过期
wmic useraccount where name='BatUsrName1' set PasswordExpires=false
# 设置某个用户不能更改密码
wmic useraccount where name='BatUsrName1' set PasswordChangeable=false
net user BatUsrName1 /passwordchg:no
# 设置某个用户可以更改密码
wmic useraccount where name='BatUsrName1' set PasswordChangeable=true
net user BatUsrName1 /passwordchg:yes
# 更改用户名
wmic useraccount where name='BatUsrName1' call rename BatUsrNameNew
2、批处理脚本实例
2.1 BAT + net user 导出用户详细信息
@echo off
cd /d "%~dp0"
(for /f "skip=4 tokens=1-3" %%a in ('net user ^| findstr /v /i "命令成功完成。"') do (
if "%%a" neq "" (
net user %%a
if "%%b" neq "" (
net user %%b
if "%%c" neq "" (
net user %%c
)
)
)
))>"UserDetail_1.txt"
2.2 BAT + WMIC + net user 导出用户详细信息
@echo off
cd /d "%~dp0"
(for /f "tokens=2 delims==" %%a in ('wmic useraccount get name /value') do (
for %%b in (%%a) do (
net user %%b
)
))>"UserDetail_2.txt"
2.3 BAT批量创建用户并加入指定组
把待创建的用户名和待加入的组按照下面的格式写入文件UserList.txt
;============================================================
;第一列: 用户名
;第二列及后面的列: 用户组
;每列之间以英文逗号分隔(逗号左右两侧不要有空格)
;每个组名左右两侧添加英文双引号(不要有多余空格)
;============================================================
BatAdm1,"Administrators","Remote Desktop Users"
BatAdm2,"Remote Desktop Users"
BatUsr1,"Remote Desktop Users","Power Users"
BatUsr2,"Remote Desktop Users"
执行脚本CreateUser.bat
@echo off
cd /d "%~dp0"
setlocal enabledelayedexpansion
set "FilePass=UserPass.txt"
>"%FilePass%" echo ;Username Password
for /f "tokens=1* delims=," %%a in ('type "UserList.txt"') do (
call :GetPass
>>"%FilePass%" echo %%a !PassStr!
echo net user %%a !PassStr! /add
net user %%a !PassStr! /add
for %%c in (%%b) do (
echo net localgroup %%c %%a /add
net localgroup %%c %%a /add
)
)
pause
goto :eof
:GetPass
set "PassLen=11"
set /a LoopNum=PassLen/3+3
set "PassStr="
for /l %%i in (1,1,%LoopNum%) do (
call :GetRand PassStr
)
set PassStr=!PassStr:~1,%PassLen%!
goto :eof
:GetRand
set "str1=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set "str2=abcdefghijklmnopqrstuvwxyz"
set "str3=0123456789"
set /a x=%random%%%26
set /a y=%random%%%26
set /a z=%random%%%10
set "PassStr=!PassStr!-!str1:~%x%,1!!str2:~%y%,1!!str3:~%z%,1!"
goto :eof
创建用户之后随机生成的密码自动写入UserPass.txt
-
密码长度11位
-
密码包含至少1个大写字母
-
密码包含至少1个小写字母
-
密码包含至少1个数字
-
密码包含至少1个特殊字符
到此这篇关于批处理系统管理之6 – 用户和localgroup组篇的文章就介绍到这了,更多相关bat用户和组篇内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!