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

以交互方式登录到 Azure PowerShell

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

先决条件

交互式登录

若要以交互方式登录,请使用 Connect-AzAccount cmdlet。 从 Az PowerShell 模块版本 12.0.0 开始,Windows 系统默认使用 Web 帐户管理器 (WAM),Linux 和 macOS 系统默认使用基于浏览器的登录。

Connect-AzAccount

登录体验

从 Az PowerShell 模块版本 12.0.0 开始,如果你有权访问多个订阅,系统会提示你选择要用于登录的 Azure 订阅,如下方示例所示。

Please select the account you want to login with.

Retrieving subscriptions for the selection...
WARNING: To override which subscription Connect-AzAccount selects by default, use
`Update-AzConfig -DefaultSubscriptionForLogin 00000000-0000-0000-0000-000000000000`.
Go to https://go.microsoft.com/fwlink/?linkid=2200610 for more information.
[Tenant and subscription selection]

No    Subscription name                     Subscription ID                           Tenant name
----  ------------------------------------  ----------------------------------------  --------------
[1]   Facility Services Subscription        00000000-0000-0000-0000-000000000000      Contoso
[2]   Finance Department Subscription       00000000-0000-0000-0000-000000000000      Contoso
[3]   Human Resources Subscription          00000000-0000-0000-0000-000000000000      Contoso
[4]   Information Technology Subscription   00000000-0000-0000-0000-000000000000      Contoso

Select a tenant and subscription: 2

Subscription name                       Tenant name
------------------------------------    --------------------------
Finance Department Subscription         Contoso

[Announcements]
With the new Azure PowerShell login experience, you can select the subscription you want to use more easily.
Learn more about it and its configuration at https://go.microsoft.com/fwlink/?linkid=2271236.
Share your feedback regarding your experience with `Connect-AzAccount` at: https://aka.ms/azloginfeedback

If you encounter any problem, please open an issue at: https://aka.ms/azpsissue

Subscription name                      Tenant
-----------------                      ------
Finance Department Subscription        Contoso

下次登录时,之前选择的租户和订阅被标记为默认值,其编号旁边带有星号 (*),并用青色突出显示。 这样,你可以按 Enter 选择默认租户或键入数字以选择其他租户和订阅。

No    Subscription name                     Subscription ID                           Tenant name
----  ------------------------------------  ----------------------------------------  --------------
[1]   Facility Services Subscription        00000000-0000-0000-0000-000000000000      Contoso
[2] * Finance Department Subscription       00000000-0000-0000-0000-000000000000      Contoso
[3]   Human Resources Subscription          00000000-0000-0000-0000-000000000000      Contoso
[4]   Information Technology Subscription   00000000-0000-0000-0000-000000000000      Contoso

The default is marked with an *; the default tenant is 'Contoso' and subscription is
'Finance Department Subscription (00000000-0000-0000-0000-000000000000)'.

Select a tenant and subscription (type a number or Enter to accept default): 4

Subscription name                       Tenant name
------------------------------------    --------------------------
Information Technology Subscription     Contoso

默认情况下,命令将针对此订阅运行。 若要更改活动订阅,请使用 Set-AzContext cmdlet。 有关详细信息,请参阅 Azure PowerShell 上下文对象

为登录配置默认订阅

若要防止每次以交互方式登录时,系统提示你选择订阅,请使用 Update-AzConfig cmdlet 设置默认订阅,如以下示例所示。

Update-AzConfig -DefaultSubscriptionForLogin '<subscription name or id>'

禁用新的登录体验

若要禁用新的登录体验,请使用 Update-AzConfig cmdlet,如以下示例所示。

Update-AzConfig -LoginExperienceV2 Off

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

Web 帐户管理器 (WAM)

从 Az PowerShell 模块版本 12.0.0 开始,Azure PowerShell 基于 Windows 的系统的默认登录身份验证方法是 Web 帐户管理器 (WAM)。

WAM 是充当身份验证代理的 Windows 10+ 组件。 身份验证代理是在你的系统上运行的应用程序,用于管理联网帐户的身份验证握手和令牌维护。

WAM 的优点

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

WAM 的限制

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

  • WAM 在 Windows 10 及更高版本以及 Windows Server 2019 及更高版本上可用。 在 Linux、macOS 和早期版本的 Windows 上,Azure PowerShell 会自动默认使用基于浏览器的登录。

  • 目前不支持使用 WAM 登录到国家云。

  • Microsoft 帐户(例如 @outlook.com 或 @live.com))在使用 MFA 时必须指定 Tenant 参数。

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

禁用 WAM

若要在 Windows 10 及更高版本或 Windows Server 2019 及更高版本上使用基于浏览器的登录,对于 Az 12.0.0 及更高版本,必须为 Azure PowerShell 禁用 WAM。 使用以下命令禁用 WAM 并返回到基于浏览器的登录(Az 12.0.0 版本之前的默认设置)。

Update-AzConfig -EnableLoginByWam $false

基于浏览器的登录

基于浏览器的登录是 Linux、macOS 和 Windows 10 或 Windows Server 2019 之前的 Windows 系统的默认交互式登录方式。 从 Az PowerShell 模块版本 12.0.0 开始,必须为 Azure PowerShell 禁用 WAM,才能在基于 Windows 的系统上使用基于浏览器的登录(Az 12.0.0 之前的默认设置)。

使用 Connect-AzAccount cmdlet 以交互方式登录时,基于浏览器的登录会打开默认 Web 浏览器以加载 Azure 登录页。 在浏览器中使用 Azure 帐户凭据登录。

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

设备代码身份验证

如果 Web 帐户管理器或 Web 浏览器不可用或无法打开,你可以通过指定 UseDeviceAuthentication 参数来强制执行设备代码流。

Connect-AzAccount -UseDeviceAuthentication

登录到其他租户

如果帐户与多个租户关联,则需要在连接时指定 Tenant 参数才能进行登录。 此参数适用于所有登录方法。 登录时,此参数值可以是租户的 Azure 对象 ID(租户 ID),也可以是租户的完全限定的域名。

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

登录到国家云

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

Connect-AzAccount -Environment AzureChinaCloud

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

Get-AzEnvironment | Select-Object -Property Name

另请参阅