Set-AzStorageAccount

修改 儲存體 帳戶。

Syntax

Set-AzStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-StorageEncryption]
   [-AssignIdentity]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableAzureActiveDirectoryDomainServicesForFile <Boolean>]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageAccount
   [-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]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableAzureActiveDirectoryDomainServicesForFile <Boolean>]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-AssignIdentity]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   [-EnableAzureActiveDirectoryKerberosForFile <Boolean>]
   [-ActiveDirectoryDomainName <String>]
   [-ActiveDirectoryDomainGuid <String>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Force]
   [-SkuName <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-AssignIdentity]
   [-UserAssignedIdentityId <String>]
   [-KeyVaultUserAssignedIdentityId <String>]
   [-KeyVaultFederatedClientId <String>]
   [-IdentityType <String>]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-UpgradeToStorageV2]
   [-EnableLargeFileShare]
   [-PublishMicrosoftEndpoint <Boolean>]
   [-PublishInternetEndpoint <Boolean>]
   -EnableActiveDirectoryDomainServicesForFile <Boolean>
   [-ActiveDirectoryDomainName <String>]
   [-ActiveDirectoryNetBiosDomainName <String>]
   [-ActiveDirectoryForestName <String>]
   [-ActiveDirectoryDomainGuid <String>]
   [-ActiveDirectoryDomainSid <String>]
   [-ActiveDirectoryAzureStorageSid <String>]
   [-ActiveDirectorySamAccountName <String>]
   [-ActiveDirectoryAccountType <String>]
   [-AllowBlobPublicAccess <Boolean>]
   [-MinimumTlsVersion <String>]
   [-AllowSharedKeyAccess <Boolean>]
   [-SasExpirationPeriod <TimeSpan>]
   [-KeyExpirationPeriodInDay <Int32>]
   [-AllowCrossTenantReplication <Boolean>]
   [-DefaultSharePermission <String>]
   [-PublicNetworkAccess <String>]
   [-ImmutabilityPeriod <Int32>]
   [-ImmutabilityPolicyState <String>]
   [-EnableSftp <Boolean>]
   [-EnableLocalUser <Boolean>]
   [-AllowedCopyScope <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-RoutingChoice <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Set-Az 儲存體 Account Cmdlet 會修改 Azure 儲存體 帳戶。 您可以使用此 Cmdlet 來修改帳戶類型、更新客戶網域,或在儲存體帳戶上設定標籤。

範例

範例 1:設定 儲存體 帳戶類型

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -SkuName "Standard_RAGRS"

此命令會將 儲存體 帳戶類型設定為 Standard_RAGRS。

範例 2:設定 儲存體 帳戶的自訂網域

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -CustomDomainName "www.contoso.com" -UseSubDomain $true

此命令會設定 儲存體 帳戶的自定義網域。

範例 3:設定存取層值

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -AccessTier Cool

命令會將存取層值設定為非經常性存取層。

範例 4:設定自定義網域和標籤

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -CustomDomainName "www.domainname.com" -UseSubDomain $true -Tag @{tag0="value0";tag1="value1";tag2="value2"}

命令會設定 儲存體 帳戶的自定義網域和標籤。

範例 5:將加密金鑰來源設定為 Keyvault

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -AssignIdentity
$account = Get-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount"

$keyVault = New-AzKeyVault -VaultName "MyKeyVault" -ResourceGroupName "MyResourceGroup" -Location "EastUS2"
$key = Add-AzKeyVaultKey -VaultName "MyKeyVault" -Name "MyKey" -Destination 'Software'
Set-AzKeyVaultAccessPolicy -VaultName "MyKeyVault" -ObjectId $account.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get

# In case to enable key auto rotation, don't set KeyVersion
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -KeyvaultEncryption -KeyName $key.Name -KeyVersion $key.Version -KeyVaultUri $keyVault.VaultUri

# In case to enable key auto rotation after set keyvault proeprites with KeyVersion, can update account by set KeyVersion to empty
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -KeyvaultEncryption -KeyName $key.Name -KeyVersion "" -KeyVaultUri $keyVault.VaultUri

此命令會使用新建立的 Keyvault 來設定 Encryption KeySource。 如果想要啟用金鑰自動輪替,請勿在第一次設定 Keyvault 屬性時設定 Keyvault 屬性,或將 keyvault 屬性再次設定為空白來清除密鑰保存庫屬性。

範例 6:將加密金鑰來源設定為 「Microsoft。儲存體”

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -StorageEncryption

此命令會將 Encryption KeySource 設定為 “Microsoft。儲存體」

範例 7:使用 JSON 設定 儲存體 帳戶的 NetworkRuleSet 屬性

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "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 屬性,並將其設定為另一個 儲存體 帳戶

$networkRuleSet = (Get-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount").NetworkRuleSet 
Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount2" -NetworkRuleSet $networkRuleSet

第一個命令會從 儲存體 帳戶取得 NetworkRuleSet 屬性,而第二個命令會將它設定為另一個 儲存體 帳戶

範例 9:將類型為 “儲存體” 或 “Blob 儲存體” 的 儲存體 帳戶升級為 “儲存體 V2” 類型 儲存體 帳戶

Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -UpgradeToStorageV2

命令會將類型為 「儲存體」 或 「Blob 儲存體」 的 儲存體 帳戶升級為 「儲存體 V2」 類型 儲存體 帳戶。

範例 10:啟用 Azure 檔案儲存體 Microsoft Entra Domain Services 驗證並設定 DefaultSharePermission,以更新 儲存體 帳戶。

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -EnableAzureActiveDirectoryDomainServicesForFile $true -DefaultSharePermission StorageFileDataSmbShareContributor

$account.AzureFilesIdentityBasedAuth

DirectoryServiceOptions ActiveDirectoryProperties                                                      DefaultSharePermission      
----------------------- -------------------------                                                      ----------------------      
AADDS                   Microsoft.Azure.Commands.Management.Storage.Models.PSActiveDirectoryProperties StorageFileDataSmbShareContributor

命令會藉由啟用 Microsoft Entra Domain Services 驗證 Azure 檔案儲存體 來更新 儲存體 帳戶。

範例 11:啟用檔案 Active Directory 網域 服務驗證來更新 儲存體 帳戶,然後顯示 [檔案身分識別型驗證] 設定

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -EnableActiveDirectoryDomainServicesForFile $true `
        -ActiveDirectoryDomainName "mydomain.com" `
        -ActiveDirectoryNetBiosDomainName "mydomain.com" `
        -ActiveDirectoryForestName "mydomain.com" `
        -ActiveDirectoryDomainGuid "12345678-1234-1234-1234-123456789012" `
        -ActiveDirectoryDomainSid "S-1-5-21-1234567890-1234567890-1234567890" `
        -ActiveDirectoryAzureStorageSid "S-1-5-21-1234567890-1234567890-1234567890-1234" `
        -ActiveDirectorySamAccountName "samaccountname" `
        -ActiveDirectoryAccountType Computer 
		
$account.AzureFilesIdentityBasedAuth.DirectoryServiceOptions
AD

$account.AzureFilesIdentityBasedAuth.ActiveDirectoryProperties

DomainName        : mydomain.com
NetBiosDomainName : mydomain.com
ForestName        : mydomain.com
DomainGuid        : 12345678-1234-1234-1234-123456789012
DomainSid         : S-1-5-21-1234567890-1234567890-1234567890
AzureStorageSid   : S-1-5-21-1234567890-1234567890-1234567890-1234
SamAccountName    : samaccountname
AccountType       : Computer

命令會啟用 Azure 檔案儲存體 Active Directory 網域 服務驗證來更新 儲存體 帳戶,然後顯示 [檔案身分識別型驗證] 設定

範例 12:設定 MinimumTlsVersion、AllowBlobPublicAccess 和 AllowSharedKeyAccess

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -MinimumTlsVersion TLS1_1 -AllowBlobPublicAccess $false -AllowSharedKeyAccess $true

$account.MinimumTlsVersion
TLS1_1

$account.AllowBlobPublicAccess
False

$a.AllowSharedKeyAccess
True

命令會設定 MinimumTlsVersion、AllowBlobPublicAccess 和 AllowSharedKeyAccess,然後顯示帳戶的 3 個屬性

範例 13:使用 RoutingPreference 設定更新 儲存體 帳戶

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -PublishMicrosoftEndpoint $false -PublishInternetEndpoint $true -RoutingChoice InternetRouting

$account.RoutingPreference

RoutingChoice   PublishMicrosoftEndpoints PublishInternetEndpoints
-------------   ------------------------- ------------------------
InternetRouting                     False                     True

$account.PrimaryEndpoints

Blob               : https://mystorageaccount.blob.core.windows.net/
Queue              : https://mystorageaccount.queue.core.windows.net/
Table              : https://mystorageaccount.table.core.windows.net/
File               : https://mystorageaccount.file.core.windows.net/
Web                : https://mystorageaccount.z2.web.core.windows.net/
Dfs                : https://mystorageaccount.dfs.core.windows.net/
MicrosoftEndpoints : 
InternetEndpoints  : {"Blob":"https://mystorageaccount-internetrouting.blob.core.windows.net/","File":"https://mystorageaccount-internetrouting.file.core.windows.net/","Web":"https://mystorageaccount-internetrouting.z2.web.core.windows.net/","Dfs":"https://w
                     eirp3-internetrouting.dfs.core.windows.net/"}

此命令會使用 RoutingPreference 設定來更新 儲存體 帳戶:PublishMicrosoftEndpoint 為 false、PublishInternetEndpoint 為 true,以及 RoutingChoice 作為 MicrosoftRouting。

範例 14:使用 KeyExpirationPeriod 和 SasExpirationPeriod 更新 儲存體 帳戶

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -KeyExpirationPeriodInDay 5 -SasExpirationPeriod "1.12:05:06" -EnableHttpsTrafficOnly $true

$account.KeyPolicy.KeyExpirationPeriodInDays
5

$account.SasPolicy.SasExpirationPeriod
1.12:05:06

此命令會使用 KeyExpirationPeriod 和 SasExpirationPeriod 更新 儲存體 帳戶,然後顯示更新的帳戶相關屬性。

範例 15:將 儲存體 帳戶更新為 Keyvault 加密,並使用使用者指派的身分識別存取 Keyvault

# Create KeyVault (no need if using exist keyvault)
$keyVault = New-AzKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -Location eastus2euap -EnablePurgeProtection
$key = Add-AzKeyVaultKey -VaultName $keyvaultName -Name $keyname -Destination 'Software'

# create user assigned identity and grant access to keyvault (no need if using exist user assigned identity)
$userId = New-AzUserAssignedIdentity -ResourceGroupName $resourceGroupName -Name $userIdName
Set-AzKeyVaultAccessPolicy -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ObjectId $userId.PrincipalId -PermissionsToKeys get,wrapkey,unwrapkey -BypassObjectIdValidation
$useridentityId= $userId.Id

# Update Storage account with Keyvault encryption and access Keyvault with user assigned identity, then show properties
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName `
                -IdentityType UserAssigned  -UserAssignedIdentityId $useridentityId  `
                -KeyVaultUri $keyVault.VaultUri -KeyName $keyname -KeyVaultUserAssignedIdentityId $useridentityId

$account.Encryption.EncryptionIdentity.EncryptionUserAssignedIdentity
/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserid

$account.Encryption.KeyVaultProperties

KeyName                       : wrappingKey
KeyVersion                    : 
KeyVaultUri                   : https://mykeyvault.vault.azure.net:443
CurrentVersionedKeyIdentifier : https://mykeyvault.vault.azure.net/keys/wrappingKey/8e74036e0d534e58b3bd84b319e31d8f
LastKeyRotationTimestamp      : 4/12/2021 8:17:57 AM

此命令會先建立keyvault和使用者指派的身分識別,然後使用keyvault加密來更新記憶體帳戶、具有使用者指派身分識別的記憶體存取密鑰保存庫。

範例 16:更新已加密的 Keyvault 儲存體 帳戶,從使用使用者指派的身分識別存取 Keyvault,以存取具有系統指派身分識別的 Keyvault

# Assign System identity to the account, and give the system assigned identity acces to the keyvault
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName  -IdentityType SystemAssignedUserAssigned
Set-AzKeyVaultAccessPolicy -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ObjectId $account.Identity.PrincipalId -PermissionsToKeys get,wrapkey,unwrapkey -BypassObjectIdValidation

# Update account from access Keyvault with user assigned identity to access Keyvault with system assigned identity
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -IdentityType SystemAssignedUserAssigned -KeyName $keyname -KeyVaultUri $keyvaultUri -KeyVaultUserAssignedIdentityId ""

# EncryptionUserAssignedIdentity is empty, so the account access keyvault with system assigned identity
$account.Encryption.EncryptionIdentity

EncryptionUserAssignedIdentity                                                                                                                 
------------------------------ 

$account.Encryption.KeyVaultProperties

KeyName                       : wrappingKey
KeyVersion                    : 
KeyVaultUri                   : https://mykeyvault.vault.azure.net:443
CurrentVersionedKeyIdentifier : https://mykeyvault.vault.azure.net/keys/wrappingKey/8e74036e0d534e58b3bd84b319e31d8f
LastKeyRotationTimestamp      : 4/12/2021 8:17:57 AM

此命令會先將系統身分識別指派給帳戶,並授與系統指派的身分識別存取權給keyvault;然後更新 儲存體 帳戶,以存取具有系統指派身分識別的Keyvault。

範例 17:更新 Keyvault 和使用者指派的身分識別以存取 keyvault

# Update to another user assigned identity
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -IdentityType SystemAssignedUserAssigned -UserAssignedIdentityId $useridentity2 -KeyVaultUserAssignedIdentityId $useridentity2

# Update to encrypt with another keyvault
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName -KeyVaultUri $keyvaultUri2 -KeyName $keyname2 -KeyVersion $keyversion2

此命令會先更新使用者指派的身分識別以存取keyvault,然後更新keyvault以進行加密。 若要同時更新 Keyvault 和使用者指派的身分識別,我們需要使用上述 2 個步驟進行更新。

範例 18:使用 AllowCrossTenantReplication 更新 儲存體 帳戶

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -AllowCrossTenantReplication $false -EnableHttpsTrafficOnly $true

$account.AllowCrossTenantReplication

False

此命令會將AllowCrossTenantReplication 設定為 false,以更新 儲存體 帳戶,然後顯示更新的帳戶相關屬性。

範例 18:啟用 PublicNetworkAccess 更新 儲存體 帳戶

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -Name "mystorageaccount" -PublicNetworkAccess Enabled

$account.PublicNetworkAccess

Enabled

此命令會藉由將 PublicNetworkAccess 設定為已啟用來更新 儲存體 帳戶。

範例 19:更新帳戶層級不變性原則

$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -ImmutabilityPeriod 2 -ImmutabilityPolicyState Unlocked

$account.ImmutableStorageWithVersioning.Enabled
True

$account.ImmutableStorageWithVersioning.ImmutabilityPolicy

ImmutabilityPeriodSinceCreationInDays State    
------------------------------------- -----    
                                    2 Unlocked

命令會更新現有記憶體帳戶上的帳戶層級不變性原則屬性,並顯示結果。 記憶體帳戶必須使用版本設定啟用帳戶層級不變性來建立。 帳戶層級不變性原則將會繼承並套用至物件層級沒有明確不變性原則的物件。

範例 20:啟用 Sftp 和 localuser 來更新 儲存體 帳戶

$account = Set-AzStorageAccount -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -EnableSftp $true -EnableLocalUser $true 

$account.EnableSftp
True

$account.EnableLocalUser
True

此命令會藉由啟用 Sftp 和 localuser 來更新 儲存體 帳戶。 若要順利執行命令,儲存體 帳戶應該已經啟用階層命名空間。

範例 21:使用另一個租使用者的 Keyvault 更新 儲存體 帳戶(使用 FederatedClientId 存取 Keyvault)

# create Storage account with Keyvault encryption (access Keyvault with FederatedClientId), then show properties
$account = Set-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName  `
                -KeyVaultUri $keyVault.VaultUri -KeyName $keyname -KeyVaultUserAssignedIdentityId $useridentityId -KeyVaultFederatedClientId $federatedClientId

$account.Encryption.EncryptionIdentity

EncryptionUserAssignedIdentity                                                                                                      EncryptionFederatedIdentityClientId                                                                                                                 
------------------------------                                                                                                      ----------------------------------- 
/subscriptions/{subscription-id}/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserid ********-****-****-****-************

$account.Encryption.KeyVaultProperties

KeyName                       : wrappingKey
KeyVersion                    : 
KeyVaultUri                   : https://mykeyvault.vault.azure.net:443
CurrentVersionedKeyIdentifier : https://mykeyvault.vault.azure.net/keys/wrappingKey/8e74036e0d534e58b3bd84b319e31d8f
LastKeyRotationTimestamp      : 3/3/2022 2:07:34 AM

此命令會從另一個租使用者更新具有 Keyvault 的記憶體帳戶(使用 FederatedClientId 存取 Keyvault)。

參數

-AccessTier

指定此 Cmdlet 修改之 儲存體 帳戶的存取層。 此參數可接受的值為:經常性存取和非經常性存取。 如果您變更存取層,可能會導致額外費用。 如需詳細資訊,請參閱 Azure Blob 儲存體:經常性存取和非經常性存取儲存層。 如果 儲存體 帳戶的 Kind 為 儲存體 V2 或 Blob 儲存體,您可以指定 AccessTier 參數。 如果 儲存體 帳戶具有 Kind as 儲存體,請勿指定 AccessTier 參數。

Type:String
Accepted values:Hot, Cool
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ActiveDirectoryAccountType

指定 Azure 儲存體的 Active Directory 帳戶類型。 可能的值包括:『User』、『Computer』。

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

-ActiveDirectoryAzureStorageSid

指定 Azure 儲存體 的安全性識別碼 (SID)。 當 -EnableActiveDirectoryDomainServicesForFile 設定為 true 時,必須設定此參數。

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

-ActiveDirectoryDomainGuid

指定網域 GUID。 當 -EnableActiveDirectoryDomainServicesForFile 設定為 true 時,必須設定此參數。

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

-ActiveDirectoryDomainName

指定AD DNS 伺服器授權的主要網域。 當 -EnableActiveDirectoryDomainServicesForFile 設定為 true 時,必須設定此參數。

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

-ActiveDirectoryDomainSid

指定安全性識別碼 (SID)。 當 -EnableActiveDirectoryDomainServicesForFile 設定為 true 時,必須設定此參數。

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

-ActiveDirectoryForestName

指定要取得的 Active Directory 樹系。 當 -EnableActiveDirectoryDomainServicesForFile 設定為 true 時,必須設定此參數。

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

-ActiveDirectoryNetBiosDomainName

指定 NetBIOS 功能變數名稱。 當 -EnableActiveDirectoryDomainServicesForFile 設定為 true 時,必須設定此參數。

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

-ActiveDirectorySamAccountName

指定 Azure 儲存體的 Active Directory SAMAccountName。

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

-AllowBlobPublicAccess

允許或不允許匿名存取記憶體帳戶中的所有 Blob 或容器。

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

-AllowCrossTenantReplication

取得或設定允許或不允許跨 Microsoft Entra 租用戶物件複寫。 此屬性的默認解譯為 true。

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

-AllowedCopyScope

將限制複製至 Microsoft Entra 租使用者內的 儲存體 帳戶,或使用相同 VNet 的私人連結。 可能的值包括:'PrivateLink'、'AAD'

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

-AllowSharedKeyAccess

指出記憶體帳戶是否允許透過共用密鑰使用帳戶存取金鑰授權要求。 如果為 false,則所有要求,包括共用存取簽章,都必須獲得 Microsoft Entra 標識符的授權。 默認值為 null,相當於 true。

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

-AsJob

在背景執行 Cmdlet

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

-AssignIdentity

產生並指派此 儲存體 帳戶的新 儲存體 帳戶身分識別,以搭配 Azure KeyVault 等密鑰管理服務使用。

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

-Confirm

執行 Cmdlet 之前先提示您確認。

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

-CustomDomainName

指定自訂網域的名稱。

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

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultSharePermission

如果未指派 RBAC 角色,則使用 Kerberos 驗證的使用者預設共享許可權。

Type:String
Accepted values:None, StorageFileDataSmbShareContributor, StorageFileDataSmbShareReader, StorageFileDataSmbShareElevatedContributor
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableActiveDirectoryDomainServicesForFile

為記憶體帳戶啟用 Azure 檔案儲存體 Active Directory 網域 服務驗證。

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

-EnableAzureActiveDirectoryDomainServicesForFile

為記憶體帳戶啟用 Azure 檔案儲存體 Active Directory 網域 服務驗證。

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

-EnableAzureActiveDirectoryKerberosForFile

為記憶體帳戶啟用 Azure 檔案儲存體 Active Directory 網域 服務 Kerberos 驗證。

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

-EnableHttpsTrafficOnly

指出 儲存體 帳戶是否只啟用 HTTPS 流量。

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

-EnableLargeFileShare

指出記憶體帳戶是否可以支援容量超過 5 TiB 的大型檔案共用。 啟用帳戶之後,就無法停用此功能。 目前僅支援 LRS 和 ZRS 複寫類型,因此無法將帳戶轉換成異地備援帳戶。 深入瞭解 https://go.microsoft.com/fwlink/?linkid=2086047

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

-EnableLocalUser

啟用 儲存體 帳戶的本機使用者功能。

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

-EnableSftp

為 儲存體 帳戶啟用安全檔案傳輸通訊協定。

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

-Force

強制將變更寫入 儲存體 帳戶。

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

-IdentityType

設定新的 儲存體 帳戶身分識別類型,idenetity 會與 Azure KeyVault 等密鑰管理服務搭配使用。

Type:String
Accepted values:SystemAssigned, UserAssigned, SystemAssignedUserAssigned, None
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ImmutabilityPeriod

自建立原則后,容器中 Blob 的不變期間數天。 只有在使用 '-EnableAccountLevelImmutability' 建立帳戶時,才能變更此屬性。

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

-ImmutabilityPolicyState

原則的模式。 可能的值包括:『Unlocked』、『Locked』、『Disabled。 停用狀態會停用原則。 解除鎖定狀態允許增加和減少不變性保留時間,也允許切換allowProtectedAppendWrites屬性。 鎖定狀態只允許增加不變性保留時間。 原則只能以 [已停用] 或 [解除鎖定] 狀態建立,而且可以在兩個狀態之間切換。 只有處於解除鎖定狀態的原則可以轉換為無法還原的鎖定狀態。 只有在使用 '-EnableAccountLevelImmutability' 建立帳戶時,才能變更此屬性。

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

-KeyExpirationPeriodInDay

此帳戶的金鑰到期期間,對天數來說是正確的。

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

-KeyName

如果使用 -KeyvaultEncryption 來啟用 金鑰保存庫 加密,請使用此選項指定 Keyname 屬性。

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

-KeyvaultEncryption

指出在使用 儲存體 服務加密時,是否要使用 Microsoft KeyVault 做為加密密鑰。 如果已設定 KeyName、KeyVersion 和 KeyVaultUri,則不論是否已設定此參數,KeySource 都會設定為 Microsoft.Keyvault。

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

-KeyVaultFederatedClientId

將多租使用者應用程式的 ClientId 設定為與記憶體帳戶上跨租用戶客戶管理的金鑰伺服器端加密的使用者指派身分識別搭配使用。

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

-KeyVaultUri

藉由指定 -KeyvaultEncryption 參數來使用 金鑰保存庫 加密時,請使用此選項來指定 金鑰保存庫 的 URI。

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

-KeyVaultUserAssignedIdentityId

為使用者指派的身分識別設定資源標識符,以存取 儲存體 帳戶加密的 Azure KeyVault,該標識碼必須位於記憶體帳戶的 UserAssignIdentityId 中。

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

-KeyVersion

藉由指定 -KeyvaultEncryption 參數來使用 金鑰保存庫 加密時,請使用此選項來指定密鑰版本的 URI。

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

-MinimumTlsVersion

要求記憶體時允許的最低 TLS 版本。

Type:String
Accepted values:TLS1_0, TLS1_1, TLS1_2
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定要修改 儲存體 帳戶的名稱。

Type:String
Aliases:StorageAccountName, AccountName
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NetworkRuleSet

NetworkRuleSet 可用來定義防火牆和虛擬網路的組態規則集,以及設定網路屬性的值,例如允許略過規則的服務,以及如何處理不符合任何已定義規則的要求。

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

-PublicNetworkAccess

允許或不允許公用網路存取 儲存體 Account.Possible 值包括:『Enabled』、『Disabled』。

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

-PublishInternetEndpoint

指出是否要發佈因特網路由記憶體端點

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

-PublishMicrosoftEndpoint

指出是否要發佈 Microsoft 路由記憶體端點

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

-ResourceGroupName

指定要在其中修改 儲存體 帳戶的資源群組名稱。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-RoutingChoice

路由選擇會定義使用者選擇的網路路由類型。 可能的值包括:'MicrosoftRouting'、'InternetRouting'

Type:String
Accepted values:MicrosoftRouting, InternetRouting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SasExpirationPeriod

此帳戶的 SAS 到期期間,是時間範圍且精確到秒數。

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

-SkuName

指定 儲存體 帳戶的 SKU 名稱。 此參數可接受的值為:

  • Standard_LRS - 本地備援記憶體。
  • Standard_ZRS - 區域備援記憶體。
  • Standard_GRS - 異地備援記憶體。
  • Standard_RAGRS - 讀取許可權異地備援記憶體。
  • 進階版_LRS - 進階版 本地備援記憶體。
  • Standard_GZRS - 異地備援區域備援記憶體。
  • Standard_RAGZRS - 讀取許可權異地備援區域備援記憶體。 您無法將Standard_ZRS和 進階版_LRS 類型變更為其他帳戶類型。 您無法將其他帳戶類型變更為Standard_ZRS或 進階版_LRS。
Type:String
Aliases:StorageAccountType, AccountType, Type
Accepted values:Standard_LRS, Standard_ZRS, Standard_GRS, Standard_RAGRS, Premium_LRS, Standard_GZRS, Standard_RAGZRS
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-StorageEncryption

指出是否要將 儲存體 帳戶加密設定為使用 Microsoft 管理的密鑰。

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

-Tag

索引鍵/值組,格式為伺服器上設定為標籤的哈希表。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

Type:Hashtable
Aliases:Tags
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UpgradeToStorageV2

將 儲存體 帳戶種類從 儲存體 或 Blob 升級 儲存體 至 儲存體 V2。

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

-UserAssignedIdentityId

為新的 儲存體 帳戶使用者指派的身分識別設定資源標識符,身分識別將會與 Azure KeyVault 等密鑰管理服務搭配使用。

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

-UseSubDomain

指出是否啟用間接 CName 驗證。

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

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

輸入

String

Hashtable

輸出

PSStorageAccount