【问题标题】:Method to get list of AD users using application password使用应用程序密码获取 AD 用户列表的方法
【发布时间】:2019-10-30 17:32:08
【问题描述】:

在一个应用程序中,我目前正在使用 PowerShell 和 MSOnline 模块(Connect-MsolService 和 Get-MsolUser)来获取 AD 用户列表。全局管理员提供他的用户名和密码,应用程序能够获取该租户下所有用户的列表。

这很好......只要密码不是应用密码。使用应用密码时,全局管理员可以看到以下内容:

Authentication Error: Bad username or password

我的问题是:是否有任何其他方法可以使用 PowerShell,但不是必须,来获取 AD 中的用户列表,但可以使用应用程序密码?我知道 Graph API,但目前不适合该项目。

【问题讨论】:

    标签: azure powershell azure-active-directory


    【解决方案1】:

    如果我理解正确,您想使用 AD 应用程序及其密码(秘密)来列出用户。

    您可以使用Az powershell 模块来执行此操作,使用服务主体登录并通过Get-AzADUser 列出用户。此外,请确保您的 AD 应用(服务主体)具有管理员角色,例如 User administratorGlobal administrator

    $azureAplicationId ="<AD App Application id>"
    $azureTenantId= "<tenant id>"
    $azurePassword = ConvertTo-SecureString "<password>" -AsPlainText -Force
    $psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
    Connect-AzAccount -Credential $psCred -TenantId $azureTenantId  -ServicePrincipal
    
    Get-AzADUser 
    

    更新

    目前不支持使用启用 MFA 的用户的应用密码连接 MSOL powershell,更多详细信息请参阅link

    不支持应用密码,只需使用不带任何参数的 Connect-MsolService 即可触发 ADAL 对话框并正常完成 2FA 质询。

    【讨论】:

    • 我实际上指的是您在为 Office 365 用户启用 MFA 后创建的应用密码。
    • @HarisOsmanagić 我不明白你的意思,你是说AD App的密码吗? AD App 密码与用户有什么关系?
    • 不,我的意思是为用户生成的应用密码。不是 Azure 应用程序密码。例如。这个:docs.microsoft.com/en-us/office365/admin/…
    • @HarisOsmanagić 不支持使用应用密码连接MSOL powershell,请看我更新中的链接,微软MVP的人指出。
    • @HarisOsmanagić 此外,我建议您尝试我的方式。 Create an AD App,给它管理员角色,并使用上面的命令获取用户。这是一种方便的非交互方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 2012-08-11
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    相关资源
    最近更新 更多