0

我试图回答我希望是一个简单的问题。我有一个在 AzureAD 中注册并自动驾驶的设备。使用 IntuneManagementExtenstion 我想获取当前登录用户的完整用户名,以便在脚本的其他地方使用。我看不到这样做的方法。

我可以找到的所有示例都返回短名称或 AzureAD 域和用户名,例如:

租户是mytestdomain.onmicrosoft.com 用户是mytestuser@mytestdomain.com

如果您只是 google 或搜索 stackoverflow,大多数方法将返回:

AzureAD\mytestusermytestuser

我需要一个返回完整的mytestuser@mytestdomain.com。这是因为租户有多个虚名,所以我需要确定哪个已登录(例如mytestuser@mytestdomain.com是与mytestuser@mytestdomain2.commytestuser@mytestdomain3.com不同的用户帐户)。因此,我不能只在输出其他方法的末尾附加我的租户名称。

任何想法表示赞赏。需要安装 msol/azuread 模块的方法似乎不起作用,因为它们需要用户登录,这与这一点相悖,并且由于它是由 intune 管理扩展运行的,因此用户无论如何都无法交互。

谢谢

4

2 回答 2

0

我现在有点忙测试这个,但它应该可以解决问题。

您可以让 Intune 运行 Powershell 脚本。此命令将以您描述的格式返回完整的用户帐户名称。

whoami.exe /UPN

既然你已经说过你想要已经登录的用户。在 Intune 中配置设置时,请确保选择“使用登录的凭据运行此脚本”选项。

于 2018-11-28T22:28:21.430 回答
0

此行将从注册表中的域加入信息返回 UPN。必须以管理员权限运行

[string]$($1='Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CloudDomainJoin\JoinInfo\';if(Test-Path -Path $1){(Get-ItemProperty -Path ('{0}\{1}' -f ($1,(Get-ChildItem -Path $1).Name.Split('\')[-1])) -Name 'UserEmail' | Select-Object -ExpandProperty 'UserEmail')}else{''})
于 2018-12-07T12:17:39.487 回答