共用方式為


Connect-AzureRmAccount

使用已驗證的帳戶連線到 Azure,以搭配 Azure Resource Manager 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>]

Description

Connect-AzureRmAccount Cmdlet 會使用已驗證的帳戶連線到 Azure,以搭配 Azure Resource Manager Cmdlet 要求使用。 您只能搭配 Azure Resource Manager Cmdlet 使用此已驗證的帳戶。 若要新增與服務管理 Cmdlet 搭配使用的已驗證帳戶,請使用 Add-AzureAccount 或 Import-AzurePublishSettingsFile 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 Resource Manager Cmdlet,您必須在提示字元中提供Microsoft帳戶或組織標識符認證。 如果您的認證已啟用多重要素驗證,您必須使用互動式選項或使用服務主體驗證來登入。

範例 2:使用組織標識符認證連線到 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 帳戶。 此帳戶會使用組織標識碼認證向 Azure Resource Manager 進行驗證。 您無法使用此帳戶使用多重要素驗證或Microsoft帳戶認證來執行 Azure Resource Manager 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

第一個命令會取得服務主體認證(應用程式標識符和服務主體密碼),然後將它們儲存在$Credential變數中。 第二個命令會使用儲存在指定租使用者之$Credential的服務主體認證連線到 Azure。 ServicePrincipal 參數表示帳戶會驗證為服務主體。

範例 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 = "00001111-aaaa-2222-bbbb-3333cccc4444"
PS C:\> $ApplicationId = "00001111-aaaa-2222-bbbb-3333cccc4444"
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          : 00001111-aaaa-2222-bbbb-3333cccc4444
SubscriptionName : MyTestSubscription
SubscriptionId   : 85f0f653-1f86-4d2c-a9f1-042efc00085c
TenantId         : 00001111-aaaa-2222-bbbb-3333cccc4444
Environment      : AzureCloud

此命令會使用憑證式服務主體驗證連線到 Azure 帳戶。 用於驗證的服務主體應該已使用指定的憑證來建立。

參數

-AccessToken

指定存取令牌。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-AccountId

存取令牌的帳戶標識碼

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-ApplicationId

SPN

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-CertificateThumbprint

憑證哈希 (指紋)

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-ContextName

這個登入的預設內容名稱。 登入之後,您將能夠依這個名稱選取此內容。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Credential

指定 PSCredential 物件。 如需 PSCredential 物件的詳細資訊,請輸入 Get-Help Get-Credential。 PSCredential 物件會提供組織標識符認證的使用者標識碼和密碼,或服務主體認證的應用程式標識碼和秘密。

類型:PSCredential
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Environment

包含要登入之帳戶的環境

類型:String
別名:EnvironmentName
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Force

如果有的話,請以相同名稱覆寫現有的內容。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-GraphAccessToken

適用於 Graph 服務的 AccessToken

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Identity

在目前環境中使用受控服務識別登入。

類型:SwitchParameter
別名:MSI, ManagedService
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-KeyVaultAccessToken

KeyVault 服務的AccessToken

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ManagedServiceHostName

受控服務登入的主機名

類型:String
Position:Named
預設值:localhost
必要:False
接受管線輸入:False
接受萬用字元:False

-ManagedServicePort

受控服務登入的埠號碼

類型:Int32
Position:Named
預設值:50342
必要:False
接受管線輸入:False
接受萬用字元:False

-ManagedServiceSecret

秘密,用於某種受控服務登入。

類型:SecureString
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Scope

判斷內容變更的範圍,例如,變更僅適用於目前進程,或套用至此用戶啟動的所有會話。

類型:ContextModificationScope
接受的值:Process, CurrentUser
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ServicePrincipal

表示此帳戶會藉由提供服務主體認證來驗證。

類型:SwitchParameter
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-SkipContextPopulation

如果沒有找到內容,則會略過內容母體擴展。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-SkipValidation

略過存取令牌的驗證

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Subscription

訂用帳戶名稱或標識碼

類型:String
別名:SubscriptionName, SubscriptionId
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-TenantId

選擇性域名或租用戶標識碼。 功能變數名稱無法在所有登入情況下運作。 針對 雲端解決方案提供者 (CSP) 登入,需要租使用者標識碼。

類型:String
別名:Domain
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

String

參數:訂用帳戶(ByValue)

輸出

PSAzureProfile