你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Connect-AzureRmAccount
使用经过身份验证的帐户连接 Azure,以便与 Azure 资源管理器 cmdlet 请求一起使用。
警告
截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。
尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源。
语法
Connect-AzureRmAccount
[-Environment <String>]
[[-Credential] <PSCredential>]
[-TenantId <String>]
[-Subscription <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzureRmAccount
[-Environment <String>]
[-Credential] <PSCredential>
[-ServicePrincipal]
-TenantId <String>
[-Subscription <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzureRmAccount
[-Environment <String>]
-CertificateThumbprint <String>
-ApplicationId <String>
[-ServicePrincipal]
-TenantId <String>
[-Subscription <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzureRmAccount
[-Environment <String>]
[-TenantId <String>]
-AccessToken <String>
[-GraphAccessToken <String>]
[-KeyVaultAccessToken <String>]
-AccountId <String>
[-Subscription <String>]
[-ContextName <String>]
[-SkipValidation]
[-SkipContextPopulation]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzureRmAccount
[-Environment <String>]
[-TenantId <String>]
[-AccountId <String>]
[-Identity]
[-ManagedServicePort <Int32>]
[-ManagedServiceHostName <String>]
[-ManagedServiceSecret <SecureString>]
[-Subscription <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
连接-AzureRmAccount cmdlet 使用经过身份验证的帐户连接到 Azure,以用于 Azure 资源管理器 cmdlet 请求。 只能在 Azure 资源管理器 cmdlet 中使用此经过身份验证的帐户。 若要添加用于服务管理 cmdlet 的经过身份验证的帐户,请使用 Add-AzureAccount 或 Import-AzurePublish设置File cmdlet。 如果没有为当前用户找到上下文,此命令将使用其每个订阅(前 25 个)订阅的上下文填充用户的上下文列表。 可以通过运行“Get-AzureRmContext -ListAvailable”找到为用户创建的上下文列表。 若要跳过此上下文填充,可以使用“-SkipContextPopulation”开关参数运行此命令。 执行此 cmdlet 后,可以使用 Disconnect-AzureRmAccount 从 Azure 帐户断开连接。
示例
示例 1:使用交互式登录连接到 Azure 帐户
PS C:\> Connect-AzureRmAccount
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
此命令连接到 Azure 帐户。 若要使用此帐户运行 Azure 资源管理器 cmdlet,必须在提示符下提供 Microsoft 帐户或组织 ID 凭据。 如果为凭据启用了多重身份验证,则必须使用交互式选项登录或使用服务主体身份验证。
示例 2:使用组织 ID 凭据连接 Azure 帐户
PS C:\> $Credential = Get-Credential
PS C:\> Connect-AzureRmAccount -Credential $Credential
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
第一个命令将提示输入用户凭据(用户名和密码),然后将其存储在$Credential变量中。 第二个命令使用存储在$Credential中的凭据连接到 Azure 帐户。 此帐户使用组织 ID 凭据通过 Azure 资源管理器进行身份验证。 不能使用多重身份验证或 Microsoft 帐户凭据来使用此帐户运行 Azure 资源管理器 cmdlet。
示例 3:连接 Azure 服务主体帐户
PS C:\> $Credential = Get-Credential
PS C:\> Connect-AzureRmAccount -Credential $Credential -Tenant "xxxx-xxxx-xxxx-xxxx" -ServicePrincipal
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
xxxx-xxxx-xxxx-xxxx Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
第一个命令获取服务主体凭据(应用程序 ID 和服务主体机密),然后将其存储在$Credential变量中。 第二个命令使用存储在指定租户$Credential中的服务主体凭据连接到 Azure。 ServicePrincipal switch 参数指示帐户作为服务主体进行身份验证。
示例 4:使用交互式登录名连接到特定租户和订阅的帐户
PS C:\> Connect-AzureRmAccount -Tenant "xxxx-xxxx-xxxx-xxxx" -SubscriptionId "yyyy-yyyy-yyyy-yyyy"
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
此命令连接到 Azure 帐户,并配置了 AzureRM PowerShell,以便默认为指定的租户和订阅运行 cmdlet。
示例 5:使用托管服务标识登录添加帐户
PS C:\> Connect-AzureRmAccount -MSI
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
MSI@50342 Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
此命令使用主机环境的托管服务标识进行连接(例如,如果使用分配的托管服务标识在 VirtualMachine 上执行),这将允许代码使用该分配的标识登录)
示例 6:使用证书添加帐户
# For more information on creating a self-signed certificate
# and giving it proper permissions, please see the following:
# https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-authenticate-service-principal-powershell
PS C:\> $Thumbprint = "0SZTNJ34TCCMUJ5MJZGR8XQD3S0RVHJBA33Z8ZXV"
PS C:\> $TenantId = "4cd76576-b611-43d0-8f2b-adcb139531bf"
PS C:\> $ApplicationId = "3794a65a-e4e4-493d-ac1d-f04308d712dd"
PS C:\> Connect-AzureRmAccount -CertificateThumbprint $Thumbprint -ApplicationId $ApplicationId -Tenant $TenantId -ServicePrincipal
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
xxxx-xxxx-xxxx-xxxx Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
Account : 3794a65a-e4e4-493d-ac1d-f04308d712dd
SubscriptionName : MyTestSubscription
SubscriptionId : 85f0f653-1f86-4d2c-a9f1-042efc00085c
TenantId : 4cd76576-b611-43d0-8f2b-adcb139531bf
Environment : AzureCloud
此命令使用基于证书的服务主体身份验证连接到 Azure 帐户。 应已使用给定证书创建用于身份验证的服务主体。
参数
-AccessToken
指定访问令牌。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AccountId
访问令牌的帐户 ID
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationId
SPN
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
证书哈希 (指纹)
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ContextName
此登录名中默认上下文的名称。 登录后,你将能够按此名称选择此上下文。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
指定 PSCredential 对象。 有关 PSCredential 对象的详细信息,请键入 Get-Help Get-Credential。 PSCredential 对象提供组织 ID 凭据的用户 ID 和密码,或服务主体凭据的应用程序 ID 和机密。
Type: | PSCredential |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Environment
包含要登录的帐户的环境
Type: | String |
Aliases: | EnvironmentName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
使用同名覆盖现有上下文(如果有)。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GraphAccessToken
AccessToken for Graph 服务
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Identity
在当前环境中使用托管服务标识登录。
Type: | SwitchParameter |
Aliases: | MSI, ManagedService |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyVaultAccessToken
KeyVault 服务的 AccessToken
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ManagedServiceHostName
托管服务登录的主机名
Type: | String |
Position: | Named |
Default value: | localhost |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ManagedServicePort
托管服务登录的端口号
Type: | Int32 |
Position: | Named |
Default value: | 50342 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ManagedServiceSecret
机密,用于某种类型的托管服务登录。
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
确定上下文更改的范围,例如,更改仅适用于当前进程,还是应用于此用户启动的所有会话。
Type: | ContextModificationScope |
Accepted values: | Process, CurrentUser |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ServicePrincipal
指示此帐户通过提供服务主体凭据进行身份验证。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipContextPopulation
如果未找到上下文,则跳过上下文填充。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipValidation
跳过访问令牌验证
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Subscription
订阅名称或 ID
Type: | String |
Aliases: | SubscriptionName, SubscriptionId |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TenantId
可选域名或租户 ID。 域名在所有登录情况下都不起作用。 对于云解决方案提供商(CSP)登录,需要租户 ID。
Type: | String |
Aliases: | Domain |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
参数:订阅(ByValue)