PowerShell批量修改AD用户密码属性

需求:非常普通的一个需求,就是给AD用户修改密码,但是问题是量太大了。所以写了个脚本

cls
$pass = ConvertTo-SecureString -AsPlainText 12333333344.abc -Force

Import-Csv -Path d:\pp.csv | foreach { 
Get-ADUser -Identity $_.name|Set-ADAccountPassword -Reset -NewPassword $pass
Get-ADUser -Identity $_.name|Set-ADUser -ChangePasswordAtLogon $false
$_.name
}

这个脚本运行,需要本地装有Active Directory的模块,不需要手动导入,自动挂载。

以上脚本改密码,也设置下次登录是否需要更改密码。

在foreach循环中,可以增加多个针对用户名的操作,比如修改属性,账户过期时间什么的。

其中需要用到的pp.csv文件内容格式如下

name
wangerxiao
dongcunrui
时间: 2024-10-16 00:29:41

PowerShell批量修改AD用户密码属性的相关文章

Powershell批量修改AD账户登陆到的计算机

Powershell 批量修改AD账户登陆到的计算机 上个月有个项目中碰到这样一个需求,讲述步骤前先描述下客户的实际情况:因安全考虑需要,域内的计算机之前都已经设置了指定登陆到的计算机,目前的项目是从Lotus邮件系统迁移到Exchange 2010,Lotus工作流迁移到泛微OA,域内账户输入账号和密码后不能登陆到Exchange系统.原因就是设置了账户的登陆到计算机属性,因为Exchange是新上的系统,没在指定范围内,所以需要添加Exchange服务器CAS01,CAS02,Mail,Ma

通过JAVA开发的修改AD用户的工具,修改AD用户密码时报错

今天遇到1个用户反馈的问题,他们通过JAVA开发了一个工具(修改AD用户密码),在此工具中如果将LDAP指向1台辅助DC时就报错,详细信息如下: 问题描述: ========= 通过JAVA开发的修改AD用户密码的工具,LDAP指向1台辅助域控时,修改用户密码报错,JAVA上报错如下: javax.naming.CommunicationException: simple bind failed: 10.10.10.23:636 [Root exception is javax.net.ssl.

使用chpasswd命令批量修改系统用户密码

chpasswd命令工作原理: 从系统的标准输入读入用户的名称和口令,并利用这些信息来更新系统上已存在的用户的口令! 语法: 1:# echo 用户名:密码 | chpasswd 2:# chpasswd < doiido.txt 相关参数: -e :如果使用了-e选项,口令将只能以加密的方式传递 -e, --encrypted  supplied passwords are encrypted 如果未使用-e选项,口令将按明文的形式传递 注意事项 1:用户名必须是系统上已存在的用户 2:普通用

批量修改AD用户属性

首先使用csvde导出需要修改用户的DN 再准备一个包含用户信息的Excel表.整理能如下格式,这里示范批量修改用户的邮件地址,红色部分改成自己需要的,还要修改其它信息,可以在后面直接加,对应的参数见链接https://technet.microsoft.com/en-us/library/cc732954.aspx , 将此文本文件保存为.bat,最后在服务器上运行. dsmod user CN=admin01ou01,OU=Users,OU=OU01,DC=adtest01,DC=com -

自动批量修改linux用户密码

通常会有多台服务器需要同时修改密码,此时可不必一台一台去操作,可以借用expect工具实现批量密码修改工作.涉及到四个文件,ip地址列表文件(iplist.txt),远程密码修改脚本(password.sh),复制时调用密码脚本scp.exp,密码修改主程序(chpasswd.sh),需将四个文件放置在/root目录下,如果放在其它目录,需修改脚本中对应的路径 在执行脚本的机器上安装expect,使用rpm包安装时需要依赖tcl包,也可使用yum安装,使用mkpasswd生成密码,一次生成一次,

批量修改AD用户属性python脚本

主要是用python调用dsquery查询到dn,再用python调用dsmod进行dn的属性修改. namelist.txt格式如下,部门的字段其实可以换成相应想修改的AD属性,比如AD中title是表示职位,想要修改工号-职务,就将dsmod语句改成如下(具体dsmod user的参数查 dsmod user /?可以看到.) "dsmod user " + dn + " -title " + dep |---------------| |sAMAccount,

powershell批量修改aduser的displayname属性

情景.需求: 随着目前公司规模的不断扩大,原先仅已中文名字为aduser中displayname属性值的现象,已经对在和国外人员交流产生影响.导致国外人员无法辨识aduser的displayname信息.我们知道无论Exchange还是SFB,它们的显示名取得是displayname值. 首先export-csv -path | get-aduser 导出并修改信息,保留需要的列. $file = import-csv c:\users\administrator\desktop\alluser

使用PowerShell 批量修改O365 用户UPN

又来分享一些日常用的小脚本哈,比如说有些小型企业在使用O365时开始用的是O365自带的域名,过了一段时间后想用自己的域名了,这时候管理员就需要将用户的UPN修改成自定义域名.总体来说这不是个复杂的活,简单写的话可能几行代码就搞定了,当然如果想写的稍微规范些,那么可以再加上一些逻辑控制类的语句 param ( [parameter(Mandatory = $true)] [string]$CustomDomainName, [parameter(Mandatory = $false)] [boo

使用powershell批量导入AD用户

建立文本文档另存为csv文件,注意编码格式,否则导入后是乱码 使用powellshell命令导入 Import-Csv -Path E:\users.csv | foreach { new-aduser -name $_.name -SamAccountName $_.samaccountname -GivenName $_.givenname -Surname $_.surname -DisplayName $_.displayname -Path $_.path -UserPrincipal