如何检索有备用电子邮件地址的Azure AD用户并导出为CSV文件
问题原因
Get-AzADUser 默认仅返回用户基础属性,AlternateEmailAddresses属于需要显式指定拉取的扩展属性,未指定时该字段返回为空,因此导出的CSV对应列无数据。另外该字段本身为数组类型,未做处理直接导出时CSV中会显示System.String[]类型名而非实际邮箱地址。
解决代码
直接运行以下调整后的PowerShell命令即可:
Get-AzADUser -Select "AlternateEmailAddresses" | ForEach-Object { [PSCustomObject]@{ 用户主体名称 = $_.UserPrincipalName 用户名 = $_.DisplayName 备用电子邮箱地址 = $_.AlternateEmailAddresses -join ";" } } | Export-Csv -Path "azureadusers.csv" -Encoding UTF8 -NoTypeInformation
代码说明
-Select "AlternateEmailAddresses"参数显式请求Azure AD接口返回用户的备用邮箱属性- 用
-join ";"将多值的备用邮箱数组拼接为单条字符串,适配CSV单单元格存储格式 - 指定
UTF8编码避免中文名等特殊字符乱码,-NoTypeInformation参数移除CSV文件开头多余的类型描述行
内容的提问来源于stack exchange,提问作者basix netflix
相关产品推荐
相关产品推荐

