Powershell-批量互换域用户属性信息
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,需求描述:因生产环境数据接口需求,需要对某时间段已上线用户属性进行批量互换,涉及字段EmployeeNumber,EmployeeID环境信息:Windows Server 2012 R2 Activ
千家信息网最后更新 2025年12月02日Powershell-批量互换域用户属性信息
需求描述:
因生产环境数据接口需求,需要对某时间段已上线用户属性进行批量互换,涉及字段EmployeeNumber,EmployeeID
环境信息:
Windows Server 2012 R2 ActiveDirectory
操作步骤:
PS.操作之初,建议先对当前环境属性字段进行备份导出操作。
方法一:
1.过滤出某时间段创建帐户信息,并导出域帐号EmployeeNumber,EmployeeID字段;
$date=Get-Date$oldday=(Get-Date).AddDays(-180)Get-ADUser -Filter * -Properties * -SearchBase "OU=Old,OU=Staff,DC=a,DC=com" |?{$_.whenCreated -le $date -and $_.whenCreated -ge $oldday} |`Select-Object name,samaccountname,userPrincipalName,EmployeeNumber,EmployeeID | `Export-Csv C:\New0505.csv -Encoding UTF8 -NoTypeInformation2.将表格数据进行按需调整,去掉ID字段为空的用户信息,并保存CSV文本格式为utf8
3.执行导入用户信息操作,并查看当前各字段对应信息属性
Import-Csv 'C:\New0505.csv' | select SamAccountName,EmployeeNumber,EmployeeID
4.如信息无误,执行批量替换操作
4.1如ID与Number字段位置无调整,执行如下命令:
Import-Csv 'C:\New0505.csv' | ForEach-Object { Set-ADUser -Identity $_.SamAccountName -EmployeeNumber $_.EmployeeID -EmployeeID $_.EmployeeNumber }4.2如ID与Number字段已调整,则按照正常替换格式替换,执行如下命令:
Import-Csv 'C:\New0505.csv' | ForEach-Object { Set-ADUser -Identity $_.SamAccountName -EmployeeNumber $_.EmployeeNumber -EmployeeID $_.EmployeeID }查看替换后属性字段信息
Import-Csv 'C:\New0505.csv' | ForEach-Object { get-ADUser -Identity $_.SamAccountName -Properties * |select SamAccountName,EmployeeNumber,EmployeeID }5.完成替换操作
方法二:
PS.如当前环境中数据均无须调整,可直接执行替换操作,具体如下:
1.以OU为例介绍,查看当前OU下用户相关属性:
Get-ADUser -SearchBase "OU=Old,OU=Staff,DC=a,DC=com" -Filter * -Properties * |select SamAccountName,EmployeeNumber,EmployeeID
2.执行批量互换当前属性操作:
Get-ADUser -SearchBase "OU=Old,OU=Staff,DC=a,DC=com" -Filter * -Properties * |select SamAccountName,EmployeeNumber,EmployeeID |ForEach-Object { Set-ADUser -Identity $_.SamAccountName -EmployeeNumber $_.EmployeeID -EmployeeID $_.EmployeeNumber }3.再次查看当前OU下用户属性,发现用户属性已变更完成。
Get-ADUser -SearchBase "OU=Old,OU=Staff,DC=a,DC=com" -Filter * -Properties * |select SamAccountName,EmployeeNumber,EmployeeID
综合:对方法一脚本进行优化操作,批量互换某时间段用户属性字段信息:
$date=Get-Date$oldday=(Get-Date).AddDays(-180)Get-ADUser -Filter * -Properties * -SearchBase "OU=Old,OU=Staff,DC=a,DC=com" |?{$_.whenCreated -le $date -and $_.whenCreated -ge $oldday} |`Select-Object name,samaccountname,userPrincipalName,EmployeeNumber,EmployeeID |forEach-Object { Set-ADUser -Identity $_.SamAccountName -EmployeeNumber $_.EmployeeID -EmployeeID $_.EmployeeNumber }
完成本次需求操作。
欢迎关注微信公众号:小温研习社
属性
字段
信息
用户
环境
调整
数据
方法
时间
时间段
需求
命令
格式
位置
公众
再次
备份
帐户
建议
接口
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都哪些软件开发是国企
服务器有8个硬盘插槽
数据库怎么投入使用
弹出代理服务器认证
网络安全保护的核心是
公司邮箱服务器地址在哪看
战争雷霆服务器丢失
路由器添加虚拟服务器
榆林软件开发规范
胡莱三国2服务器
湖南数据库联系地址
视频监控网络安全信息表
商家码服务器声音怎么关闭
无锡奥明网络技术有限公司
马云建数据库
数据库id字段要不要建名称字段
肇庆安卓软件开发收费
网络安全专业香港科技大学排名
荔湾软件开发哪里实惠
苹果12id服务器验证失败原因
北京医院时钟同步服务器
网络安全教育线下活动
下载器一直显示服务器正在连接中
广州纺织软件开发
戴尔服务器手动关闭一个cpu
网络安全的相关参考文献
金属税盘要下什么软件开发票
企业服务器架构图
服务器风扇故障排除
二道区有口碑的网络技术诚信服务