你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

以交互方式登录到 Azure PowerShell

Azure 的交互式登录提供更直观、更灵活的用户体验。 使用 Azure PowerShell 进行交互式登录可让用户直接通过 PowerShell 界面向 Azure 进行身份验证,这对于临时管理任务和需要手动登录的环境(例如使用多重身份验证 (MFA) 的环境)非常有用。 此方法简化了用于脚本测试、学习和动态管理的访问,无需预先配置服务主体或其他非交互身份验证方法。

先决条件

交互式登录

Azure PowerShell 的默认登录身份验证方法是使用 Web 浏览器和访问令牌进行登录。

  1. 若要以交互方式登录,请使用 Connect-AzAccount cmdlet,它在默认情况下使用基于浏览器的交互式登录提示。

    Connect-AzAccount
    

    如果 Azure PowerShell 可以打开默认浏览器,则它会启动授权代码流,并打开默认浏览器来加载 Azure 登录页面。 否则,它会启动设备代码流,后者将指示你打开位于 microsoft.com/devicelogin 的浏览器页面,并输入 PowerShell 会话中显示的代码。

  2. 在浏览器中使用 Azure 帐户凭据登录。

如果你有权访问多个订阅,则会登录 Azure 返回的第一个订阅。 默认情况下,命令将针对此订阅运行。 若要更改会话的活动订阅,请使用 Set-AzContext cmdlet。 若要更改活动订阅,并使其在同一系统上的会话之间持久保留,请使用 Select-AzContext cmdlet。

重要

只要你保持已登录状态,凭据将在多个 PowerShell 会话之间共享。 有关详细信息,请参阅 Azure PowerShell 上下文对象

设备代码身份验证

如果没有 Web 浏览器可用,或者 Web 浏览器无法打开,则可以通过指定 UseDeviceAuthentication 参数来强制运行设备代码流而不是浏览器控件。

Connect-AzAccount -UseDeviceAuthentication

登录到其他租户

如果帐户与多个租户关联,则需要在连接时指定 Tenant 参数才能进行登录。 此参数适用于所有登录方法。 登录时,此参数值可以是租户的 Azure 对象 ID(租户 ID),也可以是租户的完全限定的域名。 由于当前 API 的限制,在使用企业到企业帐户 (B2B) 帐户进行连接时,必须使用租户 ID 而不是租户名称。

Connect-AzAccount -Tenant '00000000-0000-0000-0000-000000000000'

登录到国家云

国家云(也称为主权云)是 Azure 的物理隔离实例,其设计目的是确保在地理边界内遵守数据驻留、主权和符合性要求。 对于国家云中的帐户,请在登录时使用 Environment 参数设置环境。 此参数适用于所有登录方法。 例如,如果你的帐户位于 Azure 中国世纪互联区域,请使用以下命令:

Connect-AzAccount -Environment AzureChinaCloud

可以通过运行以下命令获取可用环境的列表:

Get-AzEnvironment | Select-Object -Property Name

Web 帐户管理器 (WAM)

Azure PowerShell 现在提供对 Web 帐户管理器 (WAM) 的预览支持。 WAM 是充当身份验证代理的 Windows 10+ 组件。 身份验证代理是在用户计算机上运行的应用程序,用于管理联网帐户的身份验证握手和令牌维护。

使用 WAM 具有以下几个好处:

注意

使用 WAM 登录是一项可选择加入的预览功能。

启用后,以前的基于浏览器的用户界面将替换为与 Windows 内置应用类似的更流畅的体验。 若要启用 WAM,请运行以下命令。

Update-AzConfig -EnableLoginByWam $true
Connect-AzAccount

在目前的开发阶段,WAM 还存在一些已知的局限性:

  • WAM 适用于 Windows 10 及更高版本,以及 Windows Server 2019 及更高版本。 在 Mac、Linux 和早期版本的 Windows 上,Azure PowerShell 自动默认为使用浏览器。
  • 目前不支持 Microsoft 帐户(例如 @outlook.com 或 @live.com))。 我们正在与 Microsoft 标识团队合作,以在未来提供支持。

另请参阅