我是个十足的Powershell新手,还在学习。我正在尝试获取一个Azure get作业列表,这些工作已经在一个get应用程序中停止了。我理解当我运行命令az webapp web作业连续列表时,我得到了大量的数组数据。
我很难把它分开,有人能告诉我如何把它作为个人工作和他们的财产来分配吗?我尝试了$webjobs = ($webname.Split('}')),它不会分割这个巨大的数组。
这是我目前的代码
$groups = get-AzResourceGroup ={$_.ResourceGroupName -like "Dev"} foreach($group in $groups){
Write-Host -ForegroundColor Cyan "processing resourceGroup" $group.ResourceGroupName
$webApps = Get-AzWebApp -ResourceGroupName $group.ResourceGroupName
foreach($webApp in $webApps){
write-host -ForegroundColor Yellow $webApp.Name
$webname = (az webapp webjob continuous list --name $webApp.Name --resource-group $group.ResourceGroupName --query '[].name' -o tsv)
$webstatus = (az webapp webjob continuous list --name $webApp.Name --resource-group $group.ResourceGroupName --query '[].status' -o tsv)
Write-host $webname
Write-host $webstatus
}
}我得到的结果是。
处理hubv3-dev-app-hub/ApplicationInsightsProfiler3开发中心- dev -app-hub 3-app-集线器/数据hub 3-dev-集线器/ProcessToolData hub 3-dev-app/ToolDataNotiitieshubv3-dev-app/UploadLasToSftp hubv3-dev-app-authservice/ApplicationInsightsProfiler3 hubv3-dev-app/DaaS运行停止运行hubv3-dev-app-authservice hubv3-dev-app-authservice/ApplicationInsightsProfiler3运行hubv3-dev-app-api hubv3-dev-app-api/ApplicationInsightsProfiler3运行
我希望实现的是
运行hubv3 3的集线器-集线器-集线器/数据运行hubv3 3-app-集线器/ProcessToolData运行hubv3 3-dev/ToolDataNotifications运行hubv3 3-dev/UploadLasToSftp运行hubv3 3-dev-app-集线器/DaaS停止运行
任何帮助都将不胜感激。
发布于 2021-04-13 05:36:37
您所得到的结果将用于编写的代码。考虑到tsv文档,意味着$webname和$webstatus是数组。编写Write-Host $webstatus时,它将打印数组中的所有数据,在本例中:
Running
Running
Running
Running
Running
Stopped你能做的是:
$webname = (az webapp webjob continuous list --name $webApp.Name --resource-group $group.ResourceGroupName --query '[].name' -o tsv)
$webstatus = (az webapp webjob continuous list --name $webApp.Name --resource-group $group.ResourceGroupName --query '[].status' -o tsv)
for ($i = 0; $i -lt $webname.length; $i++) {
Write-Host $webname[$i]
Write-Host $webstatus[$i]
}但是应该所做的是使用另一个查询:[].[name, status]。看看jmesPath。
这样做更好,因为您只执行了一个请求,而不是两个请求,而且它应该具有您所期望的格式,即名称和状态数组。
$webjobInfo = (az webapp webjob continuous list --name $webApp.Name --resource-group $group.ResourceGroupName --query '[].[name, status]' -o tsv)
Write-Host $webJobInfohttps://stackoverflow.com/questions/67067239
复制相似问题