批处理系统管理之6 - 用户和localgroup组篇
作者:batcher
对于 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用户和组篇内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!