Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Set-AzStorageAccountManagementPolicy

Creates or modifies the management policy of an Azure Storage account.

Syntax

AccountNamePolicyRule (Default)

Set-AzStorageAccountManagementPolicy
 [-ResourceGroupName] <String>
 [-StorageAccountName] <String>
 -Rule <PSManagementPolicyRule[]>
 [-DefaultProfile <IAzureContextContainer>]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

AccountNamePolicyObject

Set-AzStorageAccountManagementPolicy
 [-ResourceGroupName] <String>
 [-StorageAccountName] <String>
 -Policy <PSManagementPolicy>
 [-DefaultProfile <IAzureContextContainer>]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

AccountObjectPolicyRule

Set-AzStorageAccountManagementPolicy
 -StorageAccount <PSStorageAccount>
 -Rule <PSManagementPolicyRule[]>
 [-DefaultProfile <IAzureContextContainer>]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

AccountObjectPolicyObject

Set-AzStorageAccountManagementPolicy
 -StorageAccount <PSStorageAccount>
 -Policy <PSManagementPolicy>
 [-DefaultProfile <IAzureContextContainer>]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

AccountResourceIdPolicyRule

Set-AzStorageAccountManagementPolicy
 [-StorageAccountResourceId] <String>
 -Rule <PSManagementPolicyRule[]>
 [-DefaultProfile <IAzureContextContainer>]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

AccountResourceIdPolicyObject

Set-AzStorageAccountManagementPolicy
 [-StorageAccountResourceId] <String>
 -Policy <PSManagementPolicy>
 [-DefaultProfile <IAzureContextContainer>]
 [-WhatIf]
 [-Confirm]
 [<CommonParameters>]

Description

The Set-AzStorageAccountManagementPolicy cmdlet creates or modifies the management policy of an Azure Storage account.

Examples

Example 1: Create or update the management policy of a Storage account with ManagementPolicy rule objects.

$action1 = Add-AzStorageAccountManagementPolicyAction -BaseBlobAction Delete -DaysAfterCreationGreaterThan 100
$action1 = Add-AzStorageAccountManagementPolicyAction -InputObject $action1 -BaseBlobAction TierToArchive -daysAfterModificationGreaterThan 50 -DaysAfterLastTierChangeGreaterThan 30
$action1 = Add-AzStorageAccountManagementPolicyAction -InputObject $action1 -BaseBlobAction TierToCool -DaysAfterLastAccessTimeGreaterThan 30 -EnableAutoTierToHotFromCool
$action1 = Add-AzStorageAccountManagementPolicyAction -InputObject $action1 -SnapshotAction Delete -daysAfterCreationGreaterThan 100
$action1 = Add-AzStorageAccountManagementPolicyAction -InputObject $action1 -BlobVersionAction TierToArchive -daysAfterCreationGreaterThan 100 -DaysAfterLastTierChangeGreaterThan 14
$filter1 = New-AzStorageAccountManagementPolicyFilter -PrefixMatch ab,cd
$rule1 = New-AzStorageAccountManagementPolicyRule -Name Test -Action $action1 -Filter $filter1

$action2 = Add-AzStorageAccountManagementPolicyAction -BaseBlobAction Delete -daysAfterCreationGreaterThan 100
$blobindexmatch1 = New-AzStorageAccountManagementPolicyBlobIndexMatchObject -Name "tag1" -Value "value1"
$blobindexmatch2 = New-AzStorageAccountManagementPolicyBlobIndexMatchObject -Name "tag2" -Value "value2"
$filter2 = New-AzStorageAccountManagementPolicyFilter -BlobType appendBlob,blockBlob -BlobIndexMatch $blobindexmatch1,$blobindexmatch2
$rule2 = New-AzStorageAccountManagementPolicyRule -Name Test2 -Action $action2 -Filter $filter2

Set-AzStorageAccountManagementPolicy -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -Rule $rule1,$rule2
ResourceGroupName : myresourcegroup
StorageAccountName : mystorageaccount
Id : /subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount/managementPolicies/default
Type : Microsoft.Storage/storageAccounts/managementPolicies
LastModifiedTime : 7/12/2022 8:32:09 AM
Rules : [
 {
 "Enabled": true,
 "Name": "Test",
 "Definition": {
 "Actions": {
 "BaseBlob": {
 "TierToCool": {
 "DaysAfterModificationGreaterThan": null,
 "DaysAfterLastAccessTimeGreaterThan": 30,
 "DaysAfterCreationGreaterThan": null,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "TierToArchive": {
 "DaysAfterModificationGreaterThan": 50,
 "DaysAfterLastAccessTimeGreaterThan": null,
 "DaysAfterCreationGreaterThan": null,
 "DaysAfterLastTierChangeGreaterThan": 30
 },
 "Delete": {
 "DaysAfterModificationGreaterThan": null,
 "DaysAfterLastAccessTimeGreaterThan": null,
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "EnableAutoTierToHotFromCool": true
 },
 "Snapshot": {
 "Delete": {
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "TierToCool": null,
 "TierToArchive": null
 },
 "Version": {
 "Delete": null,
 "TierToCool": null,
 "TierToArchive": {
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": 14
 }
 }
 },
 "Filters": {
 "PrefixMatch": [
 "ab",
 "cd"
 ],
 "BlobTypes": [
 "blockBlob"
 ],
 "BlobIndexMatch": null
 }
 }
 },
 {
 "Enabled": true,
 "Name": "Test2",
 "Definition": {
 "Actions": {
 "BaseBlob": {
 "TierToCool": null,
 "TierToArchive": null,
 "Delete": {
 "DaysAfterModificationGreaterThan": null,
 "DaysAfterLastAccessTimeGreaterThan": null,
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "EnableAutoTierToHotFromCool": null
 },
 "Snapshot": null,
 "Version": null
 },
 "Filters": {
 "PrefixMatch": null,
 "BlobTypes": [
 "appendBlob",
 "blockBlob"
 ],
 "BlobIndexMatch": [
 {
 "Name": "tag1",
 "Op": "==",
 "Value": "value1"
 },
 {
 "Name": "tag2",
 "Op": "==",
 "Value": "value2"
 }
 ]
 }
 }
 }
 ]

This command first create 2 ManagementPolicy rule objects, then creates or updates the management policy of a Storage account with the 2 ManagementPolicy rule objects.

Example 2: Create or update the management policy of a Storage account with a Json format policy.

Set-AzStorageAccountManagementPolicy -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -Policy (@{
 Rules=(@{
 Enabled=$true;
 Name="Test";
 Definition=(@{
 Actions=(@{
 BaseBlob=(@{
 TierToCool=@{DaysAfterLastAccessTimeGreaterThan=30};
 TierToArchive=@{DaysAfterModificationGreaterThan=50;DaysAfterLastTierChangeGreaterThan=30};
 Delete=@{DaysAfterCreationGreaterThan=100};
 EnableAutoTierToHotFromCool="true";
 });
 Snapshot=(@{
 Delete=@{DaysAfterCreationGreaterThan=100}
 TierToArchive=@{DaysAfterCreationGreaterThan=50};
 TierToCool=@{DaysAfterCreationGreaterThan=60};
 });
 Version=(@{
 Delete=@{DaysAfterCreationGreaterThan=100};
 TierToArchive=@{DaysAfterCreationGreaterThan=50;DaysAfterLastTierChangeGreaterThan=20};
 TierToCool=@{DaysAfterCreationGreaterThan=60};
 });
 });
 Filters=(@{
 BlobTypes=@("blockBlob");
 PrefixMatch=@("prefix1","prefix2");
 })
 })
 },
 @{
 Enabled=$false;
 Name="Test2";
 Definition=(@{
 Actions=(@{
 BaseBlob=(@{
 Delete=@{DaysAfterCreationGreaterThan=100};
 });
 });
 Filters=(@{
 BlobTypes=@("blockBlob","appendBlob");
 BlobIndexMatch=(@{Name="tag1";Op="==";Value ="value1"},@{Name="tag2";Op="==";Value="value2"})
 })
 })
 })
})
ResourceGroupName : myresourcegroup
StorageAccountName : mystorageaccount
Id : /subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount/managementPolicies/default
Type : Microsoft.Storage/storageAccounts/managementPolicies
LastModifiedTime : 7/12/2022 8:34:05 AM
Rules : [
 {
 "Enabled": true,
 "Name": "Test",
 "Definition": {
 "Actions": {
 "BaseBlob": {
 "TierToCool": {
 "DaysAfterModificationGreaterThan": null,
 "DaysAfterLastAccessTimeGreaterThan": 30,
 "DaysAfterCreationGreaterThan": null,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "TierToArchive": {
 "DaysAfterModificationGreaterThan": 50,
 "DaysAfterLastAccessTimeGreaterThan": null,
 "DaysAfterCreationGreaterThan": null,
 "DaysAfterLastTierChangeGreaterThan": 30
 },
 "Delete": {
 "DaysAfterModificationGreaterThan": null,
 "DaysAfterLastAccessTimeGreaterThan": null,
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "EnableAutoTierToHotFromCool": true
 },
 "Snapshot": {
 "Delete": {
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "TierToCool": {
 "DaysAfterCreationGreaterThan": 60,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "TierToArchive": {
 "DaysAfterCreationGreaterThan": 50,
 "DaysAfterLastTierChangeGreaterThan": null
 }
 },
 "Version": {
 "Delete": {
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "TierToCool": {
 "DaysAfterCreationGreaterThan": 60,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "TierToArchive": {
 "DaysAfterCreationGreaterThan": 50,
 "DaysAfterLastTierChangeGreaterThan": 20
 }
 }
 },
 "Filters": {
 "PrefixMatch": [
 "prefix1",
 "prefix2"
 ],
 "BlobTypes": [
 "blockBlob"
 ],
 "BlobIndexMatch": null
 }
 }
 },
 {
 "Enabled": false,
 "Name": "Test2",
 "Definition": {
 "Actions": {
 "BaseBlob": {
 "TierToCool": null,
 "TierToArchive": null,
 "Delete": {
 "DaysAfterModificationGreaterThan": null,
 "DaysAfterLastAccessTimeGreaterThan": null,
 "DaysAfterCreationGreaterThan": 100,
 "DaysAfterLastTierChangeGreaterThan": null
 },
 "EnableAutoTierToHotFromCool": null
 },
 "Snapshot": null,
 "Version": null
 },
 "Filters": {
 "PrefixMatch": null,
 "BlobTypes": [
 "blockBlob",
 "appendBlob"
 ],
 "BlobIndexMatch": [
 {
 "Name": "tag1",
 "Op": "==",
 "Value": "value1"
 },
 {
 "Name": "tag2",
 "Op": "==",
 "Value": "value2"
 }
 ]
 }
 }
 }
 ]

This command creates or updates the management policy of a Storage account with a json format policy.

Example 3: Get the management policy from a Storage account, then set it to another Storage account.

$outputPolicy = Get-AzStorageAccountManagementPolicy -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" | Set-AzStorageAccountManagementPolicy -ResourceGroupName "myresourcegroup2" -AccountName "mystorageaccount2"

This command first gets the management policy from a Storage account, then set it to another Storage account.

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False
Aliases:cf

Parameter sets

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with Azure.

Parameter properties

Type:IAzureContextContainer
Default value:None
Supports wildcards:False
DontShow:False
Aliases:AzContext, AzureRmContext, AzureCredential

Parameter sets

-Policy

Management Policy Object to Set

Parameter properties

Type:PSManagementPolicy
Default value:None
Supports wildcards:False
DontShow:False
Aliases:ManagementPolicy

Parameter sets

-ResourceGroupName

Resource Group Name.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-Rule

The Management Policy rules. Get the object with New-AzStorageAccountManagementPolicyRule cmdlet.

Parameter properties

Type:

PSManagementPolicyRule[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-StorageAccount

Storage account object

Parameter properties

Type:PSStorageAccount
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-StorageAccountName

Storage Account Name.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:AccountName

Parameter sets

-StorageAccountResourceId

Storage Account Resource Id.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False
Aliases:wi

Parameter sets

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

String

Outputs

PSManagementPolicy

Related Links


Feedback

Was this page helpful?