Connect-AzAccount
使用已驗證的帳戶連線到 Azure,以搭配 Az PowerShell 模組中的 Cmdlet 使用。
語法
Connect-AzAccount
[-Environment <String>]
[-Tenant <String>]
[-AccountId <String>]
[-Subscription <String>]
[-AuthScope <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-UseDeviceAuthentication]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzAccount
[-Environment <String>]
-Credential <PSCredential>
[-ServicePrincipal]
-Tenant <String>
[-Subscription <String>]
[-AuthScope <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzAccount
[-Environment <String>]
-Credential <PSCredential>
[-Tenant <String>]
[-Subscription <String>]
[-AuthScope <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzAccount
[-Environment <String>]
-CertificateThumbprint <String>
-ApplicationId <String>
[-ServicePrincipal]
-Tenant <String>
[-Subscription <String>]
[-AuthScope <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-Force]
[-SendCertificateChain]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzAccount
[-Environment <String>]
-ApplicationId <String>
[-ServicePrincipal]
-Tenant <String>
[-Subscription <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-Force]
-FederatedToken <String>
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzAccount
[-Environment <String>]
-ApplicationId <String>
[-ServicePrincipal]
-Tenant <String>
[-Subscription <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-Force]
[-SendCertificateChain]
-CertificatePath <String>
[-CertificatePassword <SecureString>]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzAccount
[-Environment <String>]
[-Tenant <String>]
-AccessToken <String>
[-GraphAccessToken <String>]
[-MicrosoftGraphAccessToken <String>]
[-KeyVaultAccessToken <String>]
-AccountId <String>
[-Subscription <String>]
[-ContextName <String>]
[-SkipValidation]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzAccount
[-Environment <String>]
[-Tenant <String>]
[-AccountId <String>]
[-Identity]
[-Subscription <String>]
[-AuthScope <String>]
[-ContextName <String>]
[-SkipContextPopulation]
[-MaxContextPopulation <Int32>]
[-Force]
[-Scope <ContextModificationScope>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdlet 會 Connect-AzAccount
使用已驗證的帳戶連線到 Azure,以搭配 Az PowerShell 模組中的 Cmdlet 使用。 您只能搭配 Azure Resource Manager 要求使用此已驗證的帳戶。 若要新增要與服務管理搭配使用的已驗證帳戶,請使用 Add-AzureAccount
Azure PowerShell 模組中的 Cmdlet。 如果目前使用者找不到內容,則使用者的內容清單會填入前 25 個訂用帳戶中的每個內容。
執行 即可找到 Get-AzContext -ListAvailable
為使用者建立的內容清單。 若要略過此內容母體擴展,請指定 SkipContextPopulation 參數。 執行此 Cmdlet 之後,您可以使用 中斷與 Azure 帳戶 Disconnect-AzAccount
的連線。
範例
範例 1:連線到 Azure 帳戶
此範例會連線到 Azure 帳戶。 您必須提供Microsoft帳戶或組織標識碼認證。 如果您的認證已啟用多重要素驗證,您必須使用互動式選項或使用服務主體驗證來登入。
Connect-AzAccount
Please select the account you want to login with.
Retrieving subscriptions for the selection...
[Tenant and subscription selection]
No Subscription name Subscription ID Tenant domain name
---- ------------------------------------ ---------------------------------------- --------------------------
[1] Subscription1 xxxx-xxxx-xxxx-xxxx xxxxxxxxx.xxxxxxxxxxx.com
[2] Subscription2 xxxx-xxxx-xxxx-xxxx xxxxxxxxx.xxxxxxxxxxx.com
...
[9] Subscription9 xxxx-xxxx-xxxx-xxxx xxxxxxxxx.xxxxxxxxxxx.com
Select a tenant and subscription: 1 <requires user's input here>
Subscription name Tenant domain name
------------------------------------ --------------------------
Subscription1 xxxxxxxxx.xxxxxxxxxxx.com
[Announcements]
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
SubscriptionName Tenant
----------------- ------
Subscription1 xxxxxxxxx.xxxxxxxxxxx.com
範例 2:使用組織標識碼認證連線到 Azure
只有當使用者未開啟多重要素驗證時,此案例才有效。 第一個命令會提示用戶認證,並將其儲存在變數中 $Credential
。 第二個命令會使用 儲存在 中的 $Credential
認證連線到 Azure 帳戶。 此帳戶會使用組織標識碼認證向 Azure 進行驗證。
$Credential = Get-Credential
Connect-AzAccount -Credential $Credential
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
範例 3:使用服務主體帳戶連線到 Azure
此命令會將服務主體認證儲存在變數中 $Credential
。 然後,它會使用儲存在變數中的 $Credential
服務主體認證,連接到指定的 Azure 租使用者。 ServicePrincipal 參數表示帳戶會驗證為服務主體。
$SecurePassword = Read-Host -Prompt 'Enter a Password' -AsSecureString
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz'
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecurePassword
Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
xxxx-xxxx-xxxx-xxxx Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
範例 4:使用互動式登入來連線到特定租用戶和訂用帳戶
此範例會連線至具有指定租用戶和訂用帳戶的 Azure 帳戶。
Connect-AzAccount -Tenant 'xxxx-xxxx-xxxx-xxxx' -SubscriptionId 'yyyy-yyyy-yyyy-yyyy'
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
範例 5:使用受控服務識別進行連線
此範例會使用主機環境的系統指派受控服務識別 (MSI) 進行連線。 例如,您可以從具有指派 MSI 的虛擬機登入 Azure。
Connect-AzAccount -Identity
Set-AzContext -Subscription Subscription1
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
MSI@50342 Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
範例 6:使用受控服務識別登入和 ClientId 進行連線
此範例會使用 myUserAssignedIdentity 的受控服務識別進行連線。 它會將使用者指派的身分識別新增至虛擬機,然後使用使用者指派身分識別的 ClientId 進行連線。 如需詳細資訊,請參閱在 Azure VM 上設定 Azure 資源受控識別。
$identity = Get-AzUserAssignedIdentity -ResourceGroupName 'myResourceGroup' -Name 'myUserAssignedIdentity'
Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType UserAssigned -IdentityId $identity.Id
Connect-AzAccount -Identity -AccountId $identity.ClientId # Run on the virtual machine
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
yyyy-yyyy-yyyy-yyyy Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
範例 7:使用憑證進行連線
此範例會使用憑證式服務主體驗證連線到 Azure 帳戶。 用於驗證的服務主體必須使用指定的憑證來建立。 如需建立自我簽署憑證並指派許可權的詳細資訊,請參閱 使用 Azure PowerShell 建立具有憑證的服務主體
$Thumbprint = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = '00000000-0000-0000-0000-00000000'
Connect-AzAccount -CertificateThumbprint $Thumbprint -ApplicationId $ApplicationId -Tenant $TenantId -ServicePrincipal
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxxx Subscription1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud
Account : xxxxxxxx-xxxx-xxxx-xxxxxxxx
SubscriptionName : MyTestSubscription
SubscriptionId : zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz
TenantId : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy
Environment : AzureCloud
範例 8:使用 AuthScope 連線
AuthScope 可用來支持數據平面資源比 ARM 資源增強驗證的案例,例如記憶體需求 MFA,但 ARM 則沒有。
指定 AuthScope 之後,例如 Storage、Connect-AzAccount 會先使用記憶體範圍 https://storage.azure.com/
登入,然後以無訊息方式要求 ARM 的令牌。
Connect-AzAccount -AuthScope Storage
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
yyyy-yyyy-yyyy-yyyy Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud
範例 9:使用憑證檔案進行連線
此範例會使用憑證式服務主體驗證連線到 Azure 帳戶。
由 指定的 CertficatePath
憑證檔案應該同時包含憑證和私鑰作為輸入。
$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz'
Connect-AzAccount -ServicePrincipal -ApplicationId $ApplicationId -TenantId $TenantId -CertificatePath './certificatefortest.pfx' -CertificatePassword $securePassword
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud
範例 10:使用 WAM 以互動方式連線
此範例示範如何啟用 WAM (Web 帳戶管理員) 的設定,並用它來連線到 Azure。
Update-AzConfig -EnableLoginByWam $true
Connect-AzAccount
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud
參數
-AccessToken
指定存取令牌。
警告
存取令牌是一種認證類型。 您應該採取適當的安全性預防措施,使其保持機密。 存取令牌也會逾時,而且可能會防止長時間執行的工作完成。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-AccountId
[帳戶標識符] / [用戶標識符] / [用戶名稱] 以在 Default 中登入 (UserWithSubscriptionId) 參數集;AccessToken 參數集中存取令牌的帳戶標識碼;ManagedService 參數集中受控服務的帳戶標識碼。 可以是受控服務資源標識符,或相關聯的用戶端標識符。 若要使用系統指派的身分識別,請將此欄位保留空白。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-ApplicationId
服務主體的應用程式識別碼。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-AuthScope
登入的選擇性 OAuth 範圍、支援的預先定義值:AadGraph、AnalysisServices、證明、Batch、DataLake、KeyVault、OperationalInsights、Storage、Synapse。 它也支援資源識別碼,例如 https://storage.azure.com/
。
類型: | String |
別名: | AuthScopeTypeName |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CertificatePassword
存取 pkcs#12 憑證檔案所需的密碼。
類型: | SecureString |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CertificatePath
pkcs#12 格式的 certficate 檔案路徑。
類型: | 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
此登入的預設 Azure 內容名稱。 如需 Azure 內容的詳細資訊,請參閱 Azure PowerShell 內容物件。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Credential
指定 PSCredential 物件。 如需 PSCredential 物件的詳細資訊,請輸入 Get-Help Get-Credential
。 PSCredential 物件會提供組織標識符認證的使用者標識碼和密碼,或服務主體認證的應用程式標識碼和秘密。
類型: | PSCredential |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Environment
包含 Azure 帳戶的環境。
類型: | String |
別名: | EnvironmentName |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-FederatedToken
指定由另一個識別提供者提供的令牌。 此令牌中的簽發者和主體必須先設定為ApplicationId信任。
警告
同盟令牌是一種認證類型。 您應該採取適當的安全性預防措施,使其保持機密。 同盟令牌也會逾時,而且可能會防止長時間執行的工作完成。
類型: | String |
別名: | ClientAssertion |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | 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 |
-MaxContextPopulation
登入後填入內容的訂用帳戶數目上限。 預設值為 25。 若要填入內容的所有訂用帳戶,請將 設定為 -1。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MicrosoftGraphAccessToken
Microsoft Graph 的存取令牌
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Scope
判斷內容變更的範圍,例如,變更僅適用於目前進程,或套用至此用戶啟動的所有會話。
類型: | ContextModificationScope |
接受的值: | Process, CurrentUser |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SendCertificateChain
指定是否應將 x5c 宣告(憑證的公鑰)傳送至 STS,以在 Azure AD 中輕鬆變換憑證。
類型: | SwitchParameter |
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 |
-Tenant
選擇性租用戶名稱或識別碼。
注意
由於目前 API 的限制,您必須在與企業對企業帳戶連線時使用租使用者識別碼,而不是租用戶名稱。
類型: | String |
別名: | Domain, TenantId |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-UseDeviceAuthentication
使用裝置程式代碼驗證,而不是瀏覽器控制項。
類型: | SwitchParameter |
別名: | DeviceCode, DeviceAuth, Device |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |