New-AzStorageContext
Creates an Azure Storage context.
Syntax
New-AzStorageContext
[-StorageAccountName] <String>
[-UseConnectedAccount]
[-Protocol <String>]
[-Endpoint <String>]
[-EnableFileBackupRequestIntent]
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
[-StorageAccountKey] <String>
[-Protocol <String>]
[-Endpoint <String>]
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
[-StorageAccountKey] <String>
[-Protocol <String>]
-Environment <String>
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
[-Anonymous]
[-Protocol <String>]
[-Endpoint <String>]
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
[-Anonymous]
[-Protocol <String>]
-Environment <String>
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
-SasToken <String>
[-Protocol <String>]
[-Endpoint <String>]
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
-SasToken <String>
-Environment <String>
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
[-UseConnectedAccount]
[-Protocol <String>]
-Environment <String>
[-EnableFileBackupRequestIntent]
[<CommonParameters>]
New-AzStorageContext
[-StorageAccountName] <String>
[-StorageAccountKey] <String>
-BlobEndpoint <String>
[-FileEndpoint <String>]
[-QueueEndpoint <String>]
[-TableEndpoint <String>]
[<CommonParameters>]
New-AzStorageContext
-SasToken <String>
[-BlobEndpoint <String>]
[-FileEndpoint <String>]
[-QueueEndpoint <String>]
[-TableEndpoint <String>]
[<CommonParameters>]
New-AzStorageContext
-ConnectionString <String>
[<CommonParameters>]
New-AzStorageContext
[-Local]
[<CommonParameters>]
New-AzStorageContext
[-Anonymous]
[-BlobEndpoint <String>]
[-FileEndpoint <String>]
[-QueueEndpoint <String>]
[-TableEndpoint <String>]
[<CommonParameters>]
New-AzStorageContext
[-UseConnectedAccount]
[-BlobEndpoint <String>]
[-FileEndpoint <String>]
[-QueueEndpoint <String>]
[-TableEndpoint <String>]
[-EnableFileBackupRequestIntent]
[<CommonParameters>]
Description
The New-AzStorageContext cmdlet creates an Azure Storage context. The default Authentication of a Storage Context is OAuth (Microsoft Entra ID), if only input Storage account name. See details of authentication of the Storage Service in https://zcusa.951200.xyz/rest/api/storageservices/authorization-for-the-azure-storage-services.
Examples
Example 1: Create a context by specifying a storage account name and key
New-AzStorageContext -StorageAccountName "ContosoGeneral" -StorageAccountKey "< Storage Key for ContosoGeneral ends with == >"
This command creates a context for the account named ContosoGeneral that uses the specified key.
Example 2: Create a context by specifying a connection string
New-AzStorageContext -ConnectionString "DefaultEndpointsProtocol=https;AccountName=ContosoGeneral;AccountKey=< Storage Key for ContosoGeneral ends with == >;"
This command creates a context based on the specified connection string for the account ContosoGeneral.
Example 3: Create a context for an anonymous storage account
New-AzStorageContext -StorageAccountName "ContosoGeneral" -Anonymous -Protocol "http"
This command creates a context for anonymous use for the account named ContosoGeneral. The command specifies HTTP as a connection protocol.
Example 4: Create a context by using the local development storage account
New-AzStorageContext -Local
This command creates a context by using the local development storage account. The command specifies the Local parameter.
Example 5: Get the container for the local developer storage account
New-AzStorageContext -Local | Get-AzStorageContainer
This command creates a context by using the local development storage account, and then passes the new context to the Get-AzStorageContainer cmdlet by using the pipeline operator. The command gets the Azure Storage container for the local developer storage account.
Example 6: Get multiple containers
$Context01 = New-AzStorageContext -Local
$Context02 = New-AzStorageContext -StorageAccountName "ContosoGeneral" -StorageAccountKey "< Storage Key for ContosoGeneral ends with == >"
($Context01, $Context02) | Get-AzStorageContainer
The first command creates a context by using the local development storage account, and then stores that context in the $Context01 variable. The second command creates a context for the account named ContosoGeneral that uses the specified key, and then stores that context in the $Context02 variable. The final command gets the containers for the contexts stored in $Context01 and $Context02 by using Get-AzStorageContainer.
Example 7: Create a context with an endpoint
New-AzStorageContext -StorageAccountName "ContosoGeneral" -StorageAccountKey "< Storage Key for ContosoGeneral ends with == >" -Endpoint "contosoaccount.core.windows.net"
This command creates an Azure Storage context that has the specified storage endpoint. The command creates the context for the account named ContosoGeneral that uses the specified key.
Example 8: Create a context with a specified environment
New-AzStorageContext -StorageAccountName "ContosoGeneral" -StorageAccountKey "< Storage Key for ContosoGeneral ends with == >" -Environment "AzureChinaCloud"
This command creates an Azure storage context that has the specified Azure environment. The command creates the context for the account named ContosoGeneral that uses the specified key.
Example 9: Create a context by using an SAS token
$SasToken = New-AzStorageContainerSASToken -Name "ContosoMain" -Permission "rad"
$Context = New-AzStorageContext -StorageAccountName "ContosoGeneral" -SasToken $SasToken
$Context | Get-AzStorageBlob -Container "ContosoMain"
The first command generates an SAS token by using the New-AzStorageContainerSASToken cmdlet for the container named ContosoMain, and then stores that token in the $SasToken variable. That token is for read, add, update, and delete permissions. The second command creates a context for the account named ContosoGeneral that uses the SAS token stored in $SasToken, and then stores that context in the $Context variable. The final command lists all the blobs associated with the container named ContosoMain by using the context stored in $Context.
Example 10: Create a context by using the OAuth Authentication
Connect-AzAccount
$Context = New-AzStorageContext -StorageAccountName "myaccountname" -UseConnectedAccount
This command creates a context by using the OAuth (Microsoft Entra ID) Authentication.
Example 11: Create a context by specifying a storage account name, storage account key and custom blob endpoint
New-AzStorageContext -StorageAccountName "myaccountname" -StorageAccountKey "< Storage Key for myaccountname ends with == >" -BlobEndpoint "https://myaccountname.blob.core.windows.net/"
This command creates a context for the account named myaccountname with a key for the account, and specified blob endpoint.
Example 12: Create a context for an anonymous storage account with specified blob endpoint
New-AzStorageContext -Anonymous -BlobEndpoint "https://myaccountname.blob.core.windows.net/"
This command creates a context for anonymous use for the account named myaccountname, with specified blob enpoint.
Example 13: Create a context by using an SAS token with specified endpoints
$SasToken = New-AzStorageContainerSASToken -Name "MyContainer" -Permission "rad"
New-AzStorageContext -SasToken $SasToken -BlobEndpoint "https://myaccountname.blob.core.windows.net/" -TableEndpoint "https://myaccountname.table.core.windows.net/" -FileEndpoint "https://myaccountname.file.core.windows.net/" -QueueEndpoint "https://myaccountname.queue.core.windows.net/"
The first command generates an SAS token by using the New-AzStorageContainerSASToken cmdlet for the container named MyContainer, and then stores that token in the $SasToken variable. The second command creates a context that uses the SAS token and a specified blob endpoint, table endpoint, file endpoint, and queue endpoint.
Example 14: Create a context by using the OAuth Authentication with a specified blob endpoint
New-AzStorageContext -UseConnectedAccount -BlobEndpoint "https://myaccountname.blob.core.windows.net/"
This command creates a context by using the OAuth authentication with a specified blob endpoint.
Example 15: Create a context by using the OAuth Authentication on File service
New-AzStorageContext -StorageAccountName "myaccountname" -UseConnectedAccount -EnableFileBackupRequestIntent
This command creates a context to use the OAuth (Microsoft Entra ID) authentication on File service. Parameter '-EnableFileBackupRequestIntent' is required to use OAuth (Microsoft Entra ID) Authentication for File service. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories.
Parameters
-Anonymous
Indicates that this cmdlet creates an Azure Storage context for anonymous logon.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BlobEndpoint
Azure storage blob service endpoint
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionString
Specifies a connection string for the Azure Storage context.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableFileBackupRequestIntent
Required parameter to use with OAuth (Microsoft Entra ID) Authentication for Files. This will bypass any file/directory level permission checks and allow access, based on the allowed data actions, even if there are ACLs in place for those files/directories.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Endpoint
Specifies the endpoint for the Azure Storage context.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Environment
Specifies the Azure environment.
The acceptable values for this parameter are: AzureCloud and AzureChinaCloud.
For more information, type Get-Help Get-AzEnvironment
.
Type: | String |
Aliases: | Name, EnvironmentName |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-FileEndpoint
Azure storage file service endpoint
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Local
Indicates that this cmdlet creates a context by using the local development storage account.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Protocol
Transfer Protocol (https/http).
Type: | String |
Accepted values: | Http, Https |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-QueueEndpoint
Azure storage queue service endpoint
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SasToken
Specifies a Shared Access Signature (SAS) token for the context.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StorageAccountKey
Specifies an Azure Storage account key. This cmdlet creates a context for the key that this parameter specifies.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StorageAccountName
Specifies an Azure Storage account name. This cmdlet creates a context for the account that this parameter specifies.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TableEndpoint
Azure storage table service endpoint
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseConnectedAccount
Indicates that this cmdlet creates an Azure Storage context with OAuth (Microsoft Entra ID) Authentication. The cmdlet will use OAuth Authentication by default, when other authentication not specified.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |