我正在尝试调用一个ARM模板,该模板需要当前登录用户的PrincipalId。
https://docs.microsoft.com/en-us/azure/templates/microsoft.keyvault/vaults
我使用powershell登录,作为组织的AAD中的访客帐户。当我检查产生的上下文时,我得到:
Name : [sky.sigal@ministryof.me, 5f813400-5b93-43b0-af8f-5fd04714f1ef]
Account : me@here.com
SubscriptionName : SomeSubscriptionName
TenantId : e6d2d4cc-b762-486e-8894-4f5f540d5f31
Environment : AzureCloud我想知道如何从上面获得AAD名称,而不是字符串解析“ObjectId”?
注意,ARM模板的文档不是很清楚,所以不确定me@here.com是否也能正常工作(我假设它说的是Guid)。
谢谢。
发布于 2019-08-22 16:51:31
您也可以使用azure cli获取它。
az ad signed-in-user show --query objectId -o tsv发布于 2018-08-16 15:47:21
您可以尝试使用Get-AzureRmADUser来获取ObjectId。
示例:
Get-AzureRmADUser -UserPrincipalName "xxxx@xxxx.com"结果:

Id就是ObjectId,你可以得到它。此外,您还可以通过其他属性获取它,不仅仅是-UserPrincipalName,只需参考命令的链接即可。
更新
如果您使用Guest帐户,您可以尝试下面的命令。
Get-AzureADUser | ?{$_.UserType -eq "Guest"} | ?{$_.UserPrincipalName -like "*partofyouraccount*"}

注意:在使用此命令之前,您需要install Azure AD powershell module。
发布于 2021-03-16 03:01:26
您看到的关于"Name“的信息与订阅相关。使用以下命令获取“objectId”下的帐户:
(Get-AzContext).Account.ExtendedProperties.HomeAccountId.Split('.')[0]https://stackoverflow.com/questions/51870679
复制相似问题