Get-AzureRmADUser-邮件返回null

时间:2018-11-07 07:18:17

标签: powershell

我试图通过在命令中传递我的电子邮件ID来在PowerShell中执行以下命令,但它不会返回任何内容。

$objectid = (Get-AzureRmADUser -Mail "<your email id>").Id

有其他解决方法吗?

1 个答案:

答案 0 :(得分:2)

我刚刚在自己的租户上进行了测试,效果很好。
唯一不起作用的情况是,当邮件与任何有效的邮件地址都不匹配时,我什么也没返回。

首先要确保没有遇到错误,请确保已更新AzureRM模块

Update-Module AzureRM

否则,我建议您尝试使用UserPrincipalName作为测试,以查看是否可以使用UserPrincipalName作为标识符来进行测试。 我的意思是,仍然使用-Mail属性,但是对于该值,请使用用户UserPrincipalName而不是电子邮件地址。

还要确保您要查找的电子邮件地址不是别名,大多数这些命令仅适用于在“邮件”字段中输入的任何“主要邮件地址”属性,而不适用于任何代理地址。

对于其他解决方案,如果AzureRM模块对您不起作用,则可以尝试使用AzureAD模块

Install-Module AzureAD

此模块具有Get-AzureADUser cmdlet,该cmdlet还可以提供Azure AD用户的对象ID。

要从Get-AzureADUser cmdlet中基于Mail查找用户,请使用-Filter属性。

Get-AzureADUser -Filter "Mail eq 'mail@domain.tld'"

如果这不起作用。尝试仅运行(Get-AzureADUser).mail以获得所有邮件地址的列表,并验证您希望查找的邮件确实在列表中,只是确保100%确保您希望查找的邮件确实是一个值。在用户对象上。