博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Powershell管理系列(三)2012 AD域用户UPN名称还原
阅读量:7033 次
发布时间:2019-06-28

本文共 1279 字,大约阅读时间需要 4 分钟。

今天在一个用户环境碰到一个非常奇怪的事情,4000多个账户UPN名称全部都为空,和客户沟通后得知是大概禁用过邮箱,不太确定是不是因为那个原因引起的,分析得知可能是由于删除过Exchange邮箱,把AD账户都误删了,误删后通过第三方的AD恢复软件把AD账号都恢复回来了,造成UPN名称都丢失了,具体情况见下图:

我们通过以下步骤把这些UPN名称还原

方法一:[这个方法其实更多的是依赖于我们的Excel处理水平,Powershell我当时不知道怎么导入双引号,囧,周末温习了下Powershell语法,有点思路了,有兴趣的读者请参考方法二]

步骤1、

导出对应的AD账号列表名单为csv文件,命令如下:

Get-ADUser -Filter * -Properties * | where {$

_.UserPrincipalName -eq $null} | Select-Object name,SamAccountName,UserPrincipal
Name | Export-Csv -Encoding Utf8 -NoTypeInformation c:\userinfo.csv

步骤2、

使用函数A&"@"&C,将userprincipalname列填充为,同时向下拖拉填充至最后一行。

 

步骤3、修改完后,就是如下的效果。保存到c:\userinfo.csv,方便后面的导入。

 

步骤4、执行导入命令

 Import-Csv -Path c:\userinfo.csv | foreach {S

et-ADUser -Identity $_.name -UserPrincipalName $_.UserPrincipalName}

 

步骤5、修改后,查看效果,UPN名称均已全部修改过来。

 

 -----------------------------------------------------------------------------------------------------

 

方法二:

步骤1、

查询出UPN名称为空的账号,命令如下:

Get-ADUser -Filter * -Properties * | where {$_.UserPrincipalName -eq $null} | Select-Object name,SamAccountName,UserPrincipalName

步骤2、执行AD用户修改命令

Get-ADUser -Filter * -Properties * | where {$_.UserPrincipalName -eq $null} | Select-Object name,SamAccountName,UserPrincipalName | foreach {Set-ADUser -Identity $_.name -UserPrincipalName ($_.SamAccountName+"@contoso.com")}

步骤3、修改后,查看效果,UPN名称均已全部修改过来。

转载地址:http://xqual.baihongyu.com/

你可能感兴趣的文章
UVA 10892 - LCM Cardinality
查看>>
认识委托
查看>>
ECharts报表的使用
查看>>
Daily scrum[2013.12.04]
查看>>
第五十六课、模型视图设计模式(中)------------------狄泰软件学院
查看>>
1044: C语言程序设计教程(第三版)课后习题10.2
查看>>
python 线程
查看>>
阿里云ECS服务器源配置
查看>>
java线程之二 多线程
查看>>
JQuery应用
查看>>
javascript 事件的学习
查看>>
apache中配置php支持模块模式、cgi模式和fastcgi模式的实验
查看>>
RANS VS LES
查看>>
队列 P1160 队列安排(啊啊 不会啊)
查看>>
Yii2.0如何建立公共方法
查看>>
规范的面向对象编程要点
查看>>
jQuery选择器之属性过滤选择器
查看>>
设计模式:灵活编程(组合模式)
查看>>
用C语言实现 ls -al 功能
查看>>
centos7线程、文件打开数等调优日志(非优化案例、仅仅是个个人记录、为把相关配置文件记录一下)...
查看>>