You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Windows PowerShell ISE将PowerShell JSON结果存入Azure存储账号

操作步骤

1. 前置准备(首次操作需执行)

  • 打开Windows PowerShell ISE,安装Az.Storage模块:
    Install-Module -Name Az.Storage -Force -AllowClobber
  • 登录Azure账号并切换到目标订阅:
# 登录Azure
Connect-AzAccount
# 切换到存储账号所在的订阅,替换括号内内容
Set-AzContext -Subscription "你的订阅ID/订阅名称"

2. 转换输出结果为JSON格式

将你已生成的$result对象转换为JSON字符串,避免层级截断可调整Depth参数值:
$jsonContent = $result | ConvertTo-Json -Depth 10
注意:Depth参数根据你的$result对象层级灵活调整,默认值为2,层级超过会被自动截断

3. 上传JSON内容到Azure存储

方案1:上传到Blob存储(最常用场景)

  • 先定义存储相关变量,替换为你自己的资源信息:
$storageAccountName = "存储账号名称"
$resourceGroupName = "存储账号所属资源组名称"
$containerName = "目标Blob容器名称"
$blobName = "最终保存的文件名,例如:20240520_output.json"
  • 获取存储账号上下文:
    $storageContext = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).Context
  • 直接上传JSON内容到Blob:
    Set-AzStorageBlobContent -Context $storageContext -Container $containerName -Blob $blobName -Value ([System.Text.Encoding]::UTF8.GetBytes($jsonContent)) -Force

备选操作:如果需要先在本地保存JSON文件再上传,可执行以下命令:

# 本地保存JSON文件
$jsonContent | Out-File -FilePath "C:\临时目录路径\output.json" -Encoding UTF8
# 上传本地文件到Blob
Set-AzStorageBlobContent -Context $storageContext -Container $containerName -File "C:\临时目录路径\output.json" -Blob $blobName -Force

方案2:上传到Azure文件共享

如果需要存到文件共享,替换对应变量后执行以下命令即可:

$fileShareName = "目标文件共享名称"
$directoryName = "文件共享内的目标目录,根目录可留空"
$fileName = "保存的文件名.json"
# 获取存储上下文步骤和方案1一致
Set-AzStorageFileContent -Context $storageContext -ShareName $fileShareName -Path $directoryName -Source ([System.Text.Encoding]::UTF8.GetBytes($jsonContent)) -FileName $fileName -Force
注意事项
  • 操作前确认登录的Azure账号对目标存储账号有存储Blob数据贡献者或对应写入权限,避免权限报错
  • 如JSON包含中文内容,必须指定UTF-8编码,避免上传后出现乱码
  • 如PowerShell ISE提示脚本无法运行,可先执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser调整当前用户的执行策略

内容的提问来源于stack exchange,提问作者Reni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:54:04