azure - Powershell - 检查 Azure AD 来宾是否已存在
问题描述
我们有一个 Powershell 脚本,可以批量邀请来宾加入 Azure AD。电子邮件地址包含在 CSV 文件中。
一切正常,但我想添加功能来检查租户中是否已经存在用户,这样他们就不会收到第二次邀请(看来您可以继续邀请已经存在或已邀请的客人)。
对于像bob@company.com
,的普通用户
$email = "bob@company.com"
我可以简单地使用这个:
Get-AzureADUser -ObjectId "$email"
当然,客人的格式为john_gmail.com#EXT#tenant.onmicrosoft.com
. 使用ObjectID
它确实可以正常工作,但当然在 CSV 中我们会看到john@gmail.com
,因此它无法查找用户。
在进行此查找时是否有一些明智的方法可以转换john@email.com
?john_gmail.com#EXT#tenant.onmicrosoft.com
当它实际邀请他们时,它需要在脚本后面被视为一个普通的电子邮件地址。
谢谢
解决方案
鉴于$email = "john@email.com"
您可以像这样搜索"john_gmail.com#EXT#tenant.onmicrosoft.com"
:
Get-AzureADUser -ObjectId "$($email -replace "@", "_")#EXT#@tenant.onmicrosoft.com"
或者
Get-AzureADUser -ObjectId ($email.Replace("@","_") + "#EXT#@tenant.onmicrosoft.com")
这不会更改$email
while 您仍然可以搜索扩展项的值。
推荐阅读
- c++ - 未定义的对 `BST 的引用
::BST()' - javascript - 从最高余额到最低余额排列排行榜
- php - 如何将大型 JSON API 响应拆分为较小的请求?
- html - 如何将元素放置在引导容器宽度之外
- c++ - 关于唯一指针的问题
- tokenize - 关于 huggingface-transformers 中的 get_special_tokens_mask
- ios - 如何在 Nexus Rest Api 中获取最新的存储库构建版本?
- java - 我正在使用 NetBeans 11。但树中没有库类别
- angular - 为什么我的 Angular/Rxjs6.5 shareReplay(1) 不工作?
- php - 奇怪的浮点数增量结果,使用 PHP Laravel API