Azure active directory 通过Azure AD中的备用电子邮件地址查找用户

Azure active directory 通过Azure AD中的备用电子邮件地址查找用户,azure-active-directory,azure-powershell,Azure Active Directory,Azure Powershell,我目前使用 (Get-MsolUser -UserPrincipalName $EmailAddress).ObjectID.Guid 在Azure AD中按用户的主要名称查找用户并返回其guid。但是,有时用户会因为名称更改而更改电子邮件地址,而我收到的地址不是他们的主要名称,而是次要电子邮件地址 是否有一种基于备用电子邮件地址定位用户的方法?可能是模糊搜索?您可以使用以下PowerShell脚本筛选具有一个备用电子邮件地址的用户: Get-MsolUser | Where-Object{$

我目前使用

(Get-MsolUser -UserPrincipalName $EmailAddress).ObjectID.Guid
在Azure AD中按用户的主要名称查找用户并返回其guid。但是,有时用户会因为名称更改而更改电子邮件地址,而我收到的地址不是他们的主要名称,而是次要电子邮件地址


是否有一种基于备用电子邮件地址定位用户的方法?可能是模糊搜索?

您可以使用以下PowerShell脚本筛选具有一个备用电子邮件地址的用户:

Get-MsolUser | Where-Object{$_.AlternateEmailAddresses -contains "<the email ddress>"}


(Get-MsolUser | Where-Object{$_.AlternateEmailAddresses -contains "<the email dress>"}).ObjectId.Guid
Get-MsolUser |其中对象{$\ AlternateEmailAddresses-包含“”}
(获取MsolUser | Where对象{$\ AlternateEmailAddresses-包含“”).ObjectId.Guid
这是我的测试结果:


根据租户中“用户”帐户的数量,可能需要一段时间才能返回每个用户帐户。请参见以下内容:

Get-MsolUser -all | Where{$_.ProxyAddresses -like "smtp:<EMAIL ADDRESS>"}
(Get-MsolUser -all | Where{$_.ProxyAddresses -like "smtp:<EMAIL ADDRESS>"}).ObjectId.Guid
getmsoluser-all | Where{$\.ProxyAddresses-like“smtp:”}
(获取MsolUser-all | Where{$\ ProxyAddresses-类似于“smtp:”}).ObjectId.Guid

此解决方案看起来非常优雅,但它会抛出一个错误,即-应全部使用。当我加上-All时,它不会产生任何结果。我怀疑问题在于备用地址是如何存储在我的AAD中的。嗨@notachine,它在我的测试实验室工作。你能告诉我有关错误的详细信息吗?@wayne yang msft当我使用-All开关时没有错误。它只是不返回值。如果省略-All开关,则会收到以下错误“警告:更多结果可用。请指定All或MaxResults参数之一。”