Azure 命令行工具
Azure PowerShell、Azure CLI 和 AzCopy 分别用于脚本化管理 Azure 资源,以及在本地与 Azure Storage 之间或不同存储账户之间传输数据。
| 工具 | 主要用途 |
|---|---|
| Azure PowerShell | 在 PowerShell 中使用 Az 模块的 cmdlet 管理 Azure 资源 |
Azure CLI(az) |
在命令行或脚本中管理 Azure 资源 |
AzCopy(azcopy) |
复制和同步 Azure Storage 数据 |
Azure PowerShell
简介
PowerShell 是跨平台的自动化和脚本环境,可用于系统管理、部署和测试;其管道传递 .NET 对象。Azure PowerShell 的 Az 模块提供一组 cmdlet,用于在 PowerShell 中管理 Azure 资源。
安装
参考:Az 模块介绍、Azure PowerShell 安装指南。
- 推荐环境:受支持的 PowerShell 7 或更高版本。
- Windows PowerShell 5.1:需安装 .NET Framework 4.7.2 或更高版本,并更新 PowerShellGet。
在 Windows PowerShell 5.1 中,先更新 PowerShellGet,再安装 Az 模块:
Install-Module -Name PowerShellGet -Force
Install-Module -Name Az -Scope AllUsers -Repository PSGallery -Force
登录 Azure 中国云
Connect-AzAccount -Environment AzureChinaCloud
使用应用身份自动登录
可在 Microsoft Entra ID(原 Azure AD)中创建应用及客户端机密,再在 PowerShell 脚本中使用该应用身份登录。下图是原文保留的操作示例;机密应妥善保管。

清除登录上下文
登录异常时,可先使用 Az 模块提供的命令清除当前用户保存的上下文与凭据,然后重新登录:
Clear-AzContext -Scope CurrentUser
Connect-AzAccount -Environment AzureChinaCloud
原笔记还记录了 Windows 上可能涉及的缓存或上下文文件,供排查旧环境时参考;不要不加区分地批量删除:
C:\Users\<yourname>\.azure\AzureRmContext.jsonC:\Users\<yourname>\.azure\AzureRmContextSettings.jsonC:\Users\<yourname>\.azure\AzureRmSurvey.jsonC:\Users\<yourname>\.azure\keystore.cacheC:\Users\<yourname>\AppData\Local\.IdentityService\msal.cache
Azure CLI
Azure CLI 是基于 Python 的跨平台命令行工具,用于管理 Azure 资源。
安装
- Windows:安装 Azure CLI。
- Linux:按发行版选择安装方式。RHEL/CentOS Stream 应按版本使用官方文档对应的软件源;原笔记中的
yumrepos/azure-cli配置属于 RHEL 7 路径,RHEL/CentOS 7 已不再获得 Azure CLI 更新。
登录 Azure 中国云
先选择云环境,再交互式登录:
az cloud set -n AzureChinaCloud
az login
登录失败时
如果怀疑本地账户或订阅缓存异常,可参考 Azure CLI 问题记录,执行 az account clear 清除缓存,然后重新运行 az login。清除后必须重新登录,才能继续使用账户相关命令。

选择订阅
先完成交互式登录,查看可用订阅,再切换到目标订阅:
az account list --output table
az account set --subscription "<订阅 ID 或名称>"
原笔记以用户账户和具体订阅 ID 演示切换。现在不建议在命令行中使用用户密码登录:这种方式不适用于启用多重身份验证(MFA)的账户;自动化应使用服务主体或托管身份。
参考:管理 Azure CLI 订阅、Azure CLI 登录方式。
AzCopy
AzCopy v10 用于在本地和 Azure Storage 之间,或在不同存储账户之间复制、同步 Blob 和文件。
数据传输路径
存储账户之间的复制可使用服务端到服务端 API,数据不必经过运行 AzCopy 的本地机器。本地与存储账户之间的上传和下载仍会使用本地网络。AzCopy 客户端还负责发起和监控传输。
安装与登录
- 参考 AzCopy v10 安装与入门 下载工具;在 Windows 上将
azcopy.exe所在目录加入PATH。 - 面向 Azure 中国云登录,并按提示在浏览器中输入设备代码:
azcopy login --aad-endpoint https://login.partner.microsoftonline.cn
在存储账户之间复制
azcopy copy "<源 URL>" "<目标 URL>"
实际 URL 和授权方式取决于源、目标账户的设置;使用 Microsoft Entra ID 时,应确认身份在两侧具有所需权限。
性能与内存
参考:优化 AzCopy 性能。
调整并发请求数
可通过环境变量 AZCOPY_CONCURRENCY_VALUE 设置并发请求数;具体值应结合基准测试和环境资源调整。原笔记还保留了通过命令查看设置的截图:

PowerShell 示例:
$env:AZCOPY_CONCURRENCY_VALUE = 3
减少同步时的资源开销
azcopy sync 会先扫描并比较源、目标。如果只需复制新增或更新的文件、无需删除目标中多余的文件,可使用 copy --overwrite=ifSourceNewer,减少预扫描开销:
azcopy copy "<源 URL>" "<目标 URL>" --overwrite=ifSourceNewer --recursive
如果需要删除目标中源端已不存在的文件,使用 azcopy sync 并按需要设置 --delete-destination。上传或下载时还可通过 AZCOPY_BUFFER_GB 调整缓冲区内存;该变量不严格限制 AzCopy 的总内存用量。