这里是普通文章模块栏目内容页
dsmod user 批量修改 AD 用户属性

 

dsmod 是 Windows Server 2003/Windows Server 2008/R2 里自带的命令行工具,是用来在 Active Directory 里执行修改属性的命令行工具。用 dsmod user 命令可以执行与域用户相关的属性修改,如可以修改域帐号的手机、座机、办公室等信息。

dsquery 有一系列的命令(Dsmod computer、Dsmod contact、Dsmod group、Dsmod ou、Dsmod server、Dsmod user、Dsmod quota、Dsmod partition、Dsmod computer、Dsmod contact、Dsmod group、Dsmod ou、Dsmod server、Dsmod user、Dsmod quota、Dsmod partition),用来修改不同的活动目录对象的属性。

示例1:重置用户密码并设置必须更改密码

dsmod user "cn=user1,cn=users,dc=domain,dc=com" -pwd A1b2C3d4 -mustchpwd yes

示例说明:

1.基本用法:dsmod user -属性1 “属性值1″ -属性2 “属性值2″
2.修改用户 user1 的密码为 A1b2C3d4,并设置下次登录必须修改密码

示例2:批量修改用户的某个属性为相同值

dsquery user "ou=shanghai,ou=employee,dc=domain,dc=com" -limit 0 | dsmod user -office "上海-环球金融中心"

示例说明

1.“|” 是 PipeLine 用法,意思是将 “|” 前面命令返回的结果作为 “|” 后面命令的参数运行。dsquery user 的用法可以参考:AD域控Dsquery查询
2.“|” 前面的命令返回 shanghai 这个 OU 下的 AD 用户,-limit 值为0是返回所有记录
3.-office,用户的”办公室”属性,设置其值为”上海-环球金融中心”

示例3:批量修改用户的多个属性为不同值

for /F "tokens=1-3 delims=," %a in (c:users.csv) do (dsquery user -name %a | dsmod user -tel %b -mobile %c)

示例说明

1.for 命令用于循环调用 c:users.csv 文件里的数据,具体用法参考:CMD命令for语句的用法详解
2.c:users.csv 文件,每行是一个用户的3个值,依次是用户的 name,座机号,手机号,并用英文逗号隔开,如:

用户1,12345678,13712345678

用户2,23456789,13812345678

用户3,34567890,13912345678

批量修改域账号密码属性为永不过期

dsquery user -limit 0 "ou=ouname,dc=域名,dc=com" | dsmod user -pwdneverexpires yes

windows server 批量取消域用户属性“密码永不过期”

批量取消用户“密码永不过期”

dsquery user -limit 0 "OU=你的域名,DC=你的域名,DC=com" | dsmod user -pwdneverexpires no

批定用户取消用户“密码永不过期”

dsquery user -name 账户名 | dsmod user -pwdneverexpires no