New-AzContext Cmdlet
Synopsis
Creates a new Azure context. This cmdlet is primarily used to create a context based on an Azure Active Directory principal (service principal or user) or a management certificate. Use Connect-AzAccount to connect to Azure. You can then use Get-AzContext to view the current context and Set-AzContext to switch to a different context.
Syntax
| Parameter | Description | 
|---|---|
| -TenantId | The Azure Active Directory tenant ID. | 
| -Tenant | The Azure Active Directory tenant name or domain name. | 
| -SubscriptionId | The subscription ID. | 
| -Subscription | The subscription name. | 
| -EnvironmentName | The name of the Azure cloud environment (e.g., AzureChinaCloud, AzureUSGovernment). | 
| -CertificateThumbprint | The thumbprint of a management certificate. | 
| -ApplicationId | The application ID of a service principal. | 
| -Credential | A PowerShell credential object. | 
| -Force | Do not prompt for confirmation. | 
| -WhatIf | Shows what would happen if the cmdlet runs. | 
| -Confirm | Prompts you for confirmation before running the cmdlet. | 
Parameters
The following parameters are available:
| Parameter | Type | Description | 
|---|---|---|
| -TenantId | System.String | Specifies the Azure Active Directory tenant ID. | 
| -Tenant | System.String | Specifies the Azure Active Directory tenant name or domain name. | 
| -SubscriptionId | System.String | Specifies the subscription ID. | 
| -Subscription | System.String | Specifies the subscription name. | 
| -EnvironmentName | System.String | Specifies the name of the Azure cloud environment. Accepts values such as: 
 | 
| -CertificateThumbprint | System.String | Specifies the thumbprint of a management certificate. This is used for certificate-based authentication. | 
| -ApplicationId | System.String | Specifies the application ID of a service principal. This is used for service principal authentication. | 
| -Credential | System.Management.Automation.PSCredential | Specifies a PowerShell credential object. This is typically obtained using the Get-Credentialcmdlet. | 
| -Force | System.Management.Automation.SwitchParameter | Do not prompt for confirmation. When this parameter is used, the cmdlet will not ask you for confirmation. | 
| -WhatIf | System.Management.Automation.SwitchParameter | Shows what would happen if the cmdlet runs. For example, this parameter can be used with Test-Connectionto see the network packets that would be sent without actually sending them. | 
| -Confirm | System.Management.Automation.SwitchParameter | Prompts you for confirmation before running the cmdlet. The default value is $true. | 
Examples
PS C:\> New-AzContext -TenantId "xxxx-xxxx-xxxx-xxxx" -SubscriptionId "yyyy-yyyy-yyyy-yyyy"This command creates a new context using the provided Tenant ID and Subscription ID.
PS C:\> $cred = Get-Credential "my-service-principal"
PS C:\> New-AzContext -Tenant "mycompany.onmicrosoft.com" -ApplicationId "aaaa-aaaa-aaaa-aaaa" -Credential $credThis command creates a new context for a service principal, using the tenant name and application ID, and prompts for the service principal's password.
PS C:\> New-AzContext -EnvironmentName AzureUSGovernment -SubscriptionId "zzzz-zzzz-zzzz-zzzz"This command creates a new context for the Azure US Government cloud with the specified subscription ID.
Notes
The New-AzContext cmdlet is a lower-level cmdlet for managing Azure contexts. For most common scenarios, you should use Connect-AzAccount, which handles authentication and context creation automatically.
A context consists of a subscription, a tenant, and an account. When you connect to Azure using Connect-AzAccount, it creates and sets the current context. You can view the current context using Get-AzContext.
If you have multiple subscriptions, you can use Set-AzContext to switch to a different subscription without reconnecting.