我正在尝试回答我希望这是一个简单的问题。我有一个注册了AzureAD并自动驾驶的设备。我想使用IntuneManagementExtenstion来获取当前登录以在脚本的其他地方使用的用户的FULL用户名。我看不到这样做的方法。
我可以找到的所有示例都返回短名称或AzureAD域以及用户名,例如:
租户是 mytestdomain.onmicrosoft.com 用户是 mytestuser@mytestdomain.com
大多数方法(如果您只是谷歌或搜索stackoverflow)将返回:
AzureAD \ mytestuser 要么 mytestuser
我需要一个可以返回完整的 mytestuser@mytestdomain.com 的人。这是因为租户有多个虚名,所以我需要确定哪个虚名(例如, mytestuser@mytestdomain.com 是与 mytestuser@mytestdomain2.com 不同的用户帐户) strong>或 mytestuser@mytestdomain3.com )。因此,我不能只将租户名称附加在其他方法的输出末尾。
任何想法都值得赞赏。要求安装msol / azuread模块的方法似乎不起作用,因为它们要求用户登录,这使问题不成立,并且由于它由intune管理扩展运行,因此用户无论如何都无法进行交互。
谢谢
答案 0 :(得分:0)
我现在有点忙于测试,但这应该可以解决问题。
您可以让Intune运行Powershell脚本。此命令将以您描述的格式返回完整的用户帐户名。
whoami.exe /UPN
由于您已声明要使用已经登录的用户。在Intune中配置设置时,请确保选择“使用登录的凭据运行此脚本”选项。
答案 1 :(得分: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{''})