你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureRmStorageAccount

修改存储帐户。

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

Set-AzureRmStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-StorageEncryption]
   [-AssignIdentity]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-KeyvaultEncryption]
   -KeyName <String>
   -KeyVersion <String>
   -KeyVaultUri <String>
   [-AssignIdentity]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzureRm存储Account cmdlet 修改Azure 存储帐户。 可以使用此 cmdlet 修改帐户类型、更新客户域或设置存储帐户上的标记。

示例

示例 1:设置存储帐户类型

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -Type "Standard_RAGRS"

此命令将存储帐户类型设置为Standard_RAGRS。

示例 2:为存储帐户设置自定义域

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -CustomDomainName "www.contoso.com" -UseSubDomain $True

此命令为存储帐户设置自定义域。

示例 3:设置访问层值

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -AccessTier Cool

该命令将访问层值设置为冷。

示例 4:设置自定义域和标记

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -CustomDomainName "www.domainname.com" -UseSubDomain $true -Tag @{tag0="value0";tag1="value1";tag2="value2"}

该命令设置存储帐户的自定义域和标记。

示例 5:将加密密钥来源设置为 Keyvault

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -AssignIdentity
PS C:\>$account = Get-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount"

PS C:\>$keyVault = New-AzureRmKeyVault -VaultName "MyKeyVault" -ResourceGroupName "MyResourceGroup" -Location "EastUS2"
PS C:\>$key = Add-AzureKeyVaultKey -VaultName "MyKeyVault" -Name "MyKey" -Destination 'Software'
PS C:\>Set-AzureRmKeyVaultAccessPolicy -VaultName "MyKeyVault" -ObjectId $account.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -KeyvaultEncryption -KeyName $key.Name -KeyVersion $key.Version -KeyVaultUri $keyVault.VaultUri

此命令使用新创建的 Keyvault 设置 Encryption KeySource。

示例 6:将加密密钥来源设置为“Microsoft”。存储”

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -StorageEncryption

此命令将 Encryption KeySource 设置为“Microsoft”。存储”

示例 7:使用 JSON 设置存储帐户的 NetworkRuleSet 属性

PS C:\>Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -NetworkRuleSet (@{bypass="Logging,Metrics";
    ipRules=(@{IPAddressOrRange="20.11.0.0/16";Action="allow"},
            @{IPAddressOrRange="10.0.0.0/7";Action="allow"});
    virtualNetworkRules=(@{VirtualNetworkResourceId="/subscriptions/s1/resourceGroups/g1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1";Action="allow"},
                        @{VirtualNetworkResourceId="/subscriptions/s1/resourceGroups/g1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2";Action="allow"});
    defaultAction="allow"})

此命令使用 JSON 设置存储帐户的 NetworkRuleSet 属性

示例 8:从存储帐户获取 NetworkRuleSet 属性,并将其设置为另一个存储帐户

PS C:\> $networkRuleSet = (Get-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount").NetworkRuleSet 
PS C:\> Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount2" -NetworkRuleSet $networkRuleSet

第一个命令从存储帐户获取 NetworkRuleSet 属性,第二个命令将其设置为另一个存储帐户

示例 9:将类型为“存储”或“Blob存储”的存储帐户升级到“存储V2”类型存储帐户

PS C:\> Set-AzureRmStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -UpgradeToStorageV2

该命令将类型为“存储”或“Blob存储”的存储帐户升级到“存储V2”类型存储帐户。

参数

-AccessTier

指定此 cmdlet 修改的 存储 帐户的访问层。 此参数的可接受值为:热值和冷值。 如果更改访问层,则可能会导致额外费用。 有关详细信息,请参阅Azure Blob 存储:热存储层和冷存储层。 如果存储帐户的 Kind 为 存储V2 或 Blob存储,则可以指定 AccessTier 参数。 如果 存储 帐户具有 Kind 作为存储,请不要指定 AccessTier 参数。

类型:String
接受的值:Hot, Cool
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AsJob

在后台运行 cmdlet

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AssignIdentity

为此存储帐户生成并分配新的存储帐户标识,以用于 Azure KeyVault 等密钥管理服务。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-CustomDomainName

指定自定义域的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableHttpsTrafficOnly

指示存储帐户是否仅启用 HTTPS 流量。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Force

强制将更改写入存储帐户。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-KeyName

如果使用 -KeyvaultEncryption 启用密钥库加密,请使用此选项指定 Keyname 属性。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-KeyvaultEncryption

指示在使用存储服务加密时是否对加密密钥使用 Microsoft KeyVault。 如果已设置 KeyName、KeyVersion 和 KeyVaultUri,则无论是否设置此参数,KeySource 都将设置为 Microsoft.Keyvault。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-KeyVaultUri

通过指定 -KeyvaultEncryption 参数使用密钥库加密时,使用此选项指定密钥库的 URI。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-KeyVersion

通过指定 -KeyvaultEncryption 参数使用 密钥库 加密时,使用此选项指定密钥版本的 URI。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Name

指定要修改的存储帐户的名称。

类型:String
别名:StorageAccountName, AccountName
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-NetworkRuleSet

NetworkRuleSet 用于为防火墙和虚拟网络定义一组配置规则,以及为允许绕过规则的服务等网络属性设置值,以及如何处理与任何已定义规则不匹配的请求。

类型:PSNetworkRuleSet
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ResourceGroupName

指定要在其中修改存储帐户的资源组的名称。

类型:String
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SkuName

指定存储帐户的 SKU 名称。 此参数的可接受值为:

  • Standard_LRS - 本地冗余存储。
  • Standard_ZRS - 区域冗余存储。
  • Standard_GRS - 异地冗余存储。
  • Standard_RAGRS - 读取访问权限异地冗余存储。
  • 高级版_LRS - 高级版本地冗余存储。 不能将Standard_ZRS和高级版_LRS类型更改为其他帐户类型。 不能将其他帐户类型更改为Standard_ZRS或高级版_LRS。
类型:String
别名:StorageAccountType, AccountType, Type
接受的值:Standard_LRS, Standard_ZRS, Standard_GRS, Standard_RAGRS, Premium_LRS
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-StorageEncryption

指示是否将存储帐户加密设置为使用 Microsoft 管理的密钥。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Tag

以哈希表的形式设置为服务器上的标记的键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

类型:Hashtable
别名:Tags
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-UpgradeToStorageV2

将 存储 帐户类型从 存储 或存储 Blob 升级到 存储V2。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UseSubDomain

指示是否启用间接 CName 验证。

类型:Nullable<T>[Boolean]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

Hashtable

Boolean

输出

PSStorageAccount