Powershell-批量互换域用户属性信息
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,需求描述:因生产环境数据接口需求,需要对某时间段已上线用户属性进行批量互换,涉及字段EmployeeNumber,EmployeeID环境信息:Windows Server 2012 R2 Activ
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
咖啡网
互联网科技工作委员会
互联网科技官网
金融科技创新监管互联网金融
汇久创客互联网科技
新浪科技互联网
掌上梦互联网科技
深圳期待互联网科技
中国最先进互联网科技公司
互联网科技热点资讯
北京华百购互联网科技有限公司
团飞科技与伯堂互联网服务平台
米聚互联网科技南京有限公司排面
互联网新科技动漫ppt素材
伊宁互联网科技做什么的
工业互联网山东科技大学
风投北京互联网科技
万物互联网智能科技
银川新华互联网科技学校是国营吗
上海旺乐尼互联网科技有限公司
手冲咖啡和咖啡机区别
互联网加科技
科技与互联网
云电互联网科技
兼蜜互联网科技
苏州大垚互联网科技
成都仁贤领冠互联网科技有限公司
广州慧亚互联网科技怎么样
互联网科技大赛获奖感言
普陀区互联网教育科技管理办法