批处理系统管理之6 – 用户和localgroup组篇

2023-12-08 0 224

对于 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用户和组篇内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 DOS/BAT 批处理系统管理之6 – 用户和localgroup组篇 https://www.u-9.cn/jiaoben/dosbat/130718.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务