New-AzureStorageContext

Creates an Azure Storage context.

Warning

The AzureRM PowerShell module has been officially deprecated as of February 29, 2024. Users are advised to migrate from AzureRM to the Az PowerShell module to ensure continued support and updates.

Although the AzureRM module may still function, it's no longer maintained or supported, placing any continued use at the user's discretion and risk. Please refer to our migration resources for guidance on transitioning to the Az module.

Syntax

New-AzureStorageContext
   [-StorageAccountName] <String>
   [-UseConnectedAccount]
   [-Protocol <String>]
   [-Endpoint <String>]
   [<CommonParameters>]
New-AzureStorageContext
   [-StorageAccountName] <String>
   [-StorageAccountKey] <String>
   [-Protocol <String>]
   [-Endpoint <String>]
   [<CommonParameters>]
New-AzureStorageContext
   [-StorageAccountName] <String>
   [-StorageAccountKey] <String>
   [-Protocol <String>]
   -Environment <String>
   [<CommonParameters>]
New-AzureStorageContext
   [-StorageAccountName] <String>
   [-Anonymous]
   [-Protocol <String>]
   [-Endpoint <String>]
   [<CommonParameters>]
New-AzureStorageContext
   [-StorageAccountName] <String>
   [-Anonymous]
   [-Protocol <String>]
   -Environment <String>
   [<CommonParameters>]
New-AzureStorageContext
   [-StorageAccountName] <String>
   -SasToken <String>
   [-Protocol <String>]
   [-Endpoint <String>]
   [<CommonParameters>]
New-AzureStorageContext
   [-StorageAccountName] <String>
   -SasToken <String>
   -Environment <String>
   [<CommonParameters>]
New-AzureStorageContext
   [-StorageAccountName] <String>
   [-UseConnectedAccount]
   [-Protocol <String>]
   -Environment <String>
   [<CommonParameters>]
New-AzureStorageContext
   -ConnectionString <String>
   [<CommonParameters>]
New-AzureStorageContext
   [-Local]
   [<CommonParameters>]

Description

The New-AzureStorageContext cmdlet creates an Azure Storage context.

Examples

Example 1: Create a context by specifying a storage account name and key

C:\PS>New-AzureStorageContext -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

C:\PS>New-AzureStorageContext -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

C:\PS>New-AzureStorageContext -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

C:\PS>New-AzureStorageContext -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

C:\PS>New-AzureStorageContext -Local | Get-AzureStorageContainer

This command creates a context by using the local development storage account, and then passes the new context to the Get-AzureStorageContainer cmdlet by using the pipeline operator. The command gets the Azure Storage container for the local developer storage account.

Example 6: Get multiple containers

C:\PS>$Context01 = New-AzureStorageContext -Local 
PS C:\> $Context02 = New-AzureStorageContext -StorageAccountName "ContosoGeneral" -StorageAccountKey "< Storage Key for ContosoGeneral ends with == >"
PS C:\> ($Context01, $Context02) | Get-AzureStorageContainer

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-AzureStorageContainer.

Example 7: Create a context with an endpoint

C:\PS>New-AzureStorageContext -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

C:\PS>New-AzureStorageContext -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

C:\PS>$SasToken = New-AzureStorageContainerSASToken -Name "ContosoMain" -Permission "rad"
PS C:\> $Context = New-AzureStorageContext -StorageAccountName "ContosoGeneral" -SasToken $SasToken
PS C:\> $Context | Get-AzureStorageBlob -Container "ContosoMain"

The first command generates an SAS token by using the New-AzureStorageContainerSASToken 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

C:\PS>Connect-AzureRmAccount
C:\PS> $Context = New-AzureStorageContext -StorageAccountName "myaccountname" -UseConnectedAccount

This command creates a context by using the OAuth Authentication.

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

-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

-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-AzureEnvironment.

Type:String
Aliases:Name, EnvironmentName
Position:Named
Default value:None
Required:True
Accept pipeline input:True
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

-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

-UseConnectedAccount

Indicates that this cmdlet creates an Azure Storage context with OAuth Authentication. The cmdlet will use OAuth Authentication by default, when other authentication is not specified.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Outputs

AzureStorageContext