Sad Tux - Windows bias detected
This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Detected Bias Types
powershell_heavy
windows_first
missing_linux_example
Summary
The documentation page demonstrates a bias toward Windows and PowerShell environments. All CLI examples are provided exclusively using Azure PowerShell, with no mention of Azure CLI (cross-platform) or Bash/Shell scripting alternatives. The PowerShell instructions are presented as the only command-line option, and there are no Linux-specific or cross-platform examples for exporting, modifying, or deploying templates. This may disadvantage users on Linux or macOS, who typically use Azure CLI or Bash.
Recommendations
  • Add equivalent Azure CLI examples for all PowerShell commands, including exporting, modifying, and deploying Resource Manager templates.
  • Include Bash/Shell script snippets where appropriate, especially for tasks like file manipulation and automation.
  • Explicitly mention that AzCopy and Azure CLI are cross-platform tools, and provide usage instructions for Linux/macOS environments.
  • Reorder or parallelize examples so that PowerShell and CLI/Bash instructions are presented side-by-side or in tabs, rather than PowerShell-only.
  • Reference installation and usage guides for Azure CLI on Linux/macOS, and clarify that all steps can be performed on non-Windows platforms.
GitHub Create Pull Request

Scan History

Date Scan Status Result
2026-01-12 00:00 #99 completed Biased Biased
2026-01-11 06:20 #98 completed Biased Biased
2026-01-10 00:00 #92 completed Clean Clean
2026-01-09 00:00 #87 cancelled Clean Clean
2026-01-06 22:28 #78 completed Clean Clean
2025-12-29 18:00 #48 cancelled Biased Biased
2025-12-15 00:00 #7 completed Clean Clean
2025-12-14 05:05 #6 completed Clean Clean

Flagged Code Snippets

---

> [!TIP]
> If you receive an error which states that the XML specified is not syntactically valid, compare the JSON in your template with the schemas described in the [Azure Resource Manager documentation](/azure/templates/microsoft.storage/allversions).

### Configure the new storage account

Some features won't export to a template, so you'll have to add them to the new storage account.

The following table lists these features along with guidance for adding them to your new storage account.

| Feature    | Guidance    |
|--------|-----------|
| **Lifecycle management policies** | [Manage the Azure Blob storage lifecycle](../../../storage/blobs/storage-lifecycle-management-concepts.md) |
| **Static websites** | [Host a static website in Azure Storage](../../../storage/blobs/storage-blob-static-website-how-to.md) |
| **Event subscriptions** | [Reacting to Blob storage events](../../../storage/blobs/storage-blob-event-overview.md) |
| **Alerts** | [Create, view, and manage activity log alerts by using Azure Monitor](/azure/azure-monitor/alerts/alerts-activity-log) |
| **Content Delivery Network (CDN)** | [Use Azure CDN to access blobs with custom domains over HTTPS](../../../storage/blobs/storage-https-custom-domain-cdn.md) |

> [!NOTE]
> If you set up a CDN for the source storage account, just change the origin of your existing CDN to the primary blob service endpoint (or the primary static website endpoint) of your new account.

### Move data to the new storage account

AzCopy is the preferred tool to move your data over due to its performance optimization.  With AzCopy, data is copied directly between storage servers, and so it doesn't use the network bandwidth of your computer. You can run AzCopy at the command line or as part of a custom script. For more information, see [Copy blobs between Azure storage accounts by using AzCopy](/azure/storage/common/storage-use-azcopy-blobs-copy?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json&branch=pr-en-us-259662).

You can also use Azure Data Factory to move your data over. To learn how to use Data Factory to relocate your data see one of the following guides:

- [Copy data to or from Azure Blob storage by using Azure Data Factory](/azure/data-factory/connector-azure-blob-storage)
- [Copy data to or from Azure Data Lake Storage Gen2 using Azure Data Factory](/azure/data-factory/connector-azure-data-lake-storage)
- [Copy data from or to Azure Files by using Azure Data Factory](/azure/data-factory/connector-azure-file-storage)
- [Copy data to and from Azure Table storage by using Azure Data Factory](/azure/data-factory/connector-azure-table-storage)

## Discard or clean up

After the deployment, if you want to start over, you can delete the target storage account, and repeat the steps described in the [Prepare](#prepare) and [Redeploy](#redeploy) sections of this article.

To commit the changes and complete the move of a storage account, delete the source storage account.

### [Portal](#tab/azure-portal)

To remove a storage account by using the Azure portal:

1. In the Azure portal, expand the menu on the left side to open the menu of services, and choose **Storage accounts** to display the list of your storage accounts.
1. Locate the target storage account to delete, and right-click the **More** button (**...**) on the right side of the listing.
1. Select **Delete**, and confirm.

### [PowerShell](#tab/azure-powershell)

To remove the resource group and its associated resources, including the new storage account, use the [Remove-AzStorageAccount](/powershell/module/az.storage/remove-azstorageaccount) command:

1. Export the template of your source storage account. These commands save a json template to your current directory.

   
---

## Redeploy

Deploy the template to create a new storage account in the target region.

### [Portal](#tab/azure-portal)

1. Save the **template.json** file.
1. Enter or select the property values:

   - **Subscription**: Select an Azure subscription.
   - **Resource group**: Select **Create new** and give the resource group a name.
   - **Location**: Select an Azure location.

1. Select **I agree to the terms and conditions stated above**, and then select **Select Purchase**.

### [PowerShell](#tab/azure-powershell)

1. Obtain the subscription ID where you want to deploy the target public IP with [Get-AzSubscription](/powershell/module/az.accounts/get-azsubscription):