Azure解决方案:如何通过脚本批量更新用户属性?

网友投稿 221 2022-09-14

Azure解决方案:如何通过脚本批量更新用户属性?

51CTO 博客地址:​​​AD里的某个用户属性信息,可以通过Get-AzureADUser命令来获取其单一用户的信息,但如果获取到用户属性,比如部门或者Job Titile与当前信息不符合,可以通过 Set-AzureADUser来修改单个用户的属性。

但很多IT面临的是定期的部门重组,职位的调动,如果采用 Set-AzureADUser逐个用户修改,那么工作效率非常低,今天,我将给大家分享一下,如何通过脚本批量更新用户属性。

具体操作步骤如下所示:

1.      打开PowerShell,执行命令:Connect-AzureAD.

2.      执行命令:Get-AzureADUser | Get-Member -MemberType property,获取 Azure AD中用户的UPN和属性,如下所示:

3.      新建一个CSV文件,根据用户实际需求,编辑CSV文件属性和属性值,如下所示:

4.      执行脚本,如下所示:

$AzureADUsers = Import-CSV "C:\AzureADUserAttributes.csv"$i = 0;$TotolRows = $AzureADUsers.Count$UpdateStatusResult=@()ForEach($UserInfo in $AzureADUsers){$UserId = $UserInfo.'UserPrincipalName' $NewUserData = @{}$UserInfo.PSObject.Properties | ForEach { $NewUserData[$_.Name] = $_.Value }$i++;Write-Progress -activity "Processing $UserId " -status "$i out of $TotolRows completed"Try{$UserObj = Get-AzureADUser -ObjectId $UserId$ExistingUserData = @{}$UserObj.PSObject.Properties | ForEach { $ExistingUserData[$_.Name] = $_.Value } $AttributesToUpdate = @{} $CSVHeaders = @("JobTitle","Department","CompanyName","PhysicalDeliveryOfficeName","City","Country","PostalCode","State","StreetAddress")ForEach($property in $CSVHeaders){if ($NewUserData[$property] -ne $null -and ($NewUserData[$property] -ne $ExistingUserData[$property])){$AttributesToUpdate[$property] = $NewUserData[$property]}}if($AttributesToUpdate.Count -gt 0){Set-AzureADUser -ObjectId $UserId @AttributesToUpdate$UpdateStatus = "Success - Updated attributes : " + ($AttributesToUpdate.Keys -join ',') } else {$UpdateStatus ="No changes required"}}catch{$UpdateStatus = "Failed: $_"}$UpdateStatusResult += New-Object PSObject -property $([ordered]@{User = $UserIdStatus = $UpdateStatus})}$UpdateStatusResult | Select User,Status$UpdateStatusResult | Export-CSV "C:\AzureADUserUpdateStatus.CSV" -NoTypeInformation -Encoding UTF8

5.      访问一个用户的属性,已经更新完成,如下所示:

谢谢大家的阅读,若大家日后有其他疑问,欢迎线下讨论。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:10个成功的裂变营销案例!教你如何展开裂变!
下一篇:数字先锋 | 海南省数据产品超市:让买数据产品像逛超市一样方便
相关文章

 发表评论

暂时没有评论,来抢沙发吧~