Set-AzStorageAccountManagementPolicy
创建或修改 Azure 存储帐户的管理策略。
语法
AccountNamePolicyRule (默认值)
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>]
说明
Set-AzStorageAccountManagementPolicy cmdlet 创建或修改 Azure 存储帐户的管理策略。
示例
示例 1:使用 ManagementPolicy 规则对象创建或更新存储帐户的管理策略。
$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"
}
]
}
}
}
]
此命令首先创建 2 个 ManagementPolicy 规则对象,然后使用 2 个 ManagementPolicy 规则对象创建或更新存储帐户的管理策略。
示例 2:使用 Json 格式策略创建或更新存储帐户的管理策略。
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"
}
]
}
}
}
]
此命令使用 json 格式策略创建或更新存储帐户的管理策略。
示例 3:从存储帐户获取管理策略,然后将其设置为另一个存储帐户。
$outputPolicy = Get-AzStorageAccountManagementPolicy -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" | Set-AzStorageAccountManagementPolicy -ResourceGroupName "myresourcegroup2" -AccountName "mystorageaccount2"
此命令首先从存储帐户获取管理策略,然后将其设置为另一个存储帐户。
参数
-Confirm
在运行 cmdlet 之前,提示你进行确认。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | cf |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
参数属性
| 类型: | IAzureContextContainer |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | AzContext, AzureRmContext, AzureCredential |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Policy
要设置的管理策略对象
参数属性
| 类型: | PSManagementPolicy |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | ManagementPolicy |
参数集
AccountNamePolicyObject
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AccountObjectPolicyObject
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AccountResourceIdPolicyObject
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ResourceGroupName
资源组名称。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AccountNamePolicyRule
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AccountNamePolicyObject
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Rule
管理策略规则。 使用 New-AzStorageAccountManagementPolicyRule cmdlet 获取对象。
参数属性
| 类型: | |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AccountNamePolicyRule
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AccountObjectPolicyRule
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AccountResourceIdPolicyRule
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-StorageAccount
存储帐户对象
参数属性
| 类型: | PSStorageAccount |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AccountObjectPolicyRule
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AccountObjectPolicyObject
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-StorageAccountName
存储帐户名称。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 账户名称 |
参数集
AccountNamePolicyRule
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AccountNamePolicyObject
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-StorageAccountResourceId
存储帐户资源 ID。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AccountResourceIdPolicyRule
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
AccountResourceIdPolicyObject
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 无线 |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。