PowerShell执行AzCopy失败:无法创建SSL/TLS安全通道求助
解决AzCopy SSL/TLS安全通道创建失败的问题
你的错误核心是AzCopy无法建立与Azure Blob存储的SSL/TLS安全连接,和日志参数、管理员权限(你提到无法以管理员运行)的关系不大,下面是几个无需修改防火墙或管理员权限的可行方案:
方案1:强制PowerShell使用TLS 1.2协议
Azure Blob存储目前要求使用TLS 1.2及以上版本进行连接,而PowerShell默认可能未启用该协议。你可以在启动AzCopy前,先在当前PowerShell会话中设置强制使用TLS 1.2:
# 强制设置当前会话使用TLS 1.2协议 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # 你的原有执行代码 $args = "/Source:\UNCservcer\env\older /Dest:https://1234env.blob.core.windows.net/folder1/folder2 /DestKey:hsyugf-*********== /S /XO /V:\uncserver\SHARE\folderlog\log_123.log" $exepath = "F:\Prgrm flss\azcopy\AzCopy.exe" Start-Process $exepath $args -Wait
这条命令只会影响当前PowerShell会话,不需要管理员权限,也不会修改系统全局设置。
方案2:更新AzCopy到最新便携版
旧版本的AzCopy可能对TLS 1.2的支持不完善,你可以下载便携版AzCopy(无需安装,解压即可使用)替换当前版本:
- 便携版无需管理员权限,直接解压到本地目录就能运行
- 新版本默认适配TLS 1.2,能更好地兼容Azure服务的安全要求
方案3:验证目标Blob URL格式
虽然错误提示是SSL问题,但也可以快速确认目标URL的正确性:
- Azure Blob的目标URL格式应为:
https://<存储账户名>.blob.core.windows.net/<容器名>/<虚拟目录> - 确保
folder1是你已创建的Blob容器名称,folder2是容器内的虚拟目录(无需提前创建,AzCopy会自动生成)
额外排查点
如果以上方案无效,可以先测试网络连通性,确认是否能和Blob存储端点建立TLS连接:
# 测试与Blob存储端点的443端口连通性 Test-NetConnection 1234env.blob.core.windows.net -Port 443
如果结果显示TcpTestSucceeded: True,说明网络能连通,问题仍出在协议版本或AzCopy本身;如果失败,可能需要联系网络团队确认出站TLS 1.2的限制(但你提到无法修改防火墙,这一步主要是缩小问题范围)
内容的提问来源于stack exchange,提问作者Dinesh Kumar
相关产品推荐
相关产品推荐

