[英]powershell load json iterate and use keys and values
powershell 的新手。我有 2 個 Json,第一個是從文件中獲取的,第二個是我在查詢后轉換的。 如果兩個 json 中的名稱部分中的值相同,我想更新第二個文件的標簽部分中的值:
json 文件 1 使用以下內容創建和讀取/加載:
$service = Get-AzResource -ResourceGroupName $sourcergname | select-object Name, ResourceGroupName, ResourceType, Location, ResourceId, Tags
ConvertTo-Json $service | Out-File "$subscriptionid\resourceGroups\$sourcergname\Source_RG_Service_level_tags.json"
$RG_services_level_tags_json = Get-Content "$subscriptionid\resourceGroups\$sourcergname\Source_RG_Service_level_tags.json" | Out-String | ConvertFrom-Json
然后它給出:
[
{
"Name": "vnet-prd-secretenv",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Network/virtualNetworks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Network/virtualNetworks/vnet-prd-secretenv",
"Tags": {
}
},
{
"Name": "host-1-prd-secretenv_DataDisk_0",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Compute/disks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Compute/disks/host-1-prd-secretenv_DataDisk_0",
"Tags": null
},
{
"Name": "host-1-prd-secretenv_DataDisk_2",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Compute/disks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Compute/disks/host-1-prd-secretenv_DataDisk_2",
"Tags": null
},
{
"Name": "host-1-prd-secretenv-nsg",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Network/networkSecurityGroups",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Network/networkSecurityGroups/host-1-prd-secretenv-nsg",
"Tags": null
},
{
"Name": "host-1-prd-secretenv_DataDisk_3",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Compute/disks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Compute/disks/host-1-prd-secretenv_DataDisk_3",
"Tags": null
},
{
"Name": "host-1-prd-secretenv-puip",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Network/publicIPAddresses",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Network/publicIPAddresses/host-1-prd-secretenv-puip",
"Tags": null
},
{
"Name": "rgprdsecretrgdiag",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Storage/storageAccounts",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Storage/storageAccounts/rgprdsecretrgdiag",
"Tags": {
}
},
{
"Name": "host-1-prd-secretenv_DataDisk_1",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Compute/disks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Compute/disks/host-1-prd-secretenv_DataDisk_1",
"Tags": null
},
{
"Name": "host-1-prd-meetechssf622",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Network/networkInterfaces",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Network/networkInterfaces/host-1-prd-meetechssf622",
"Tags": null
},
{
"Name": "host-1-prd-secretenv",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Compute/virtualMachines",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Compute/virtualMachines/host-1-prd-secretenv",
"Tags": {
"services_tag_1": "dummy_services_tag_1",
"services_tag_2": "dummy_services_tag_2"
}
},
{
"Name": "host-1-prd-secretenv_OsDisk_1_02133b0f90d645a7a309f68fbceaa743",
"ResourceGroupName": "RG-PRD-secretrg",
"ResourceType": "Microsoft.Compute/disks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/RG-PRD-secretrg/providers/Microsoft.Compute/disks/host-1-prd-secretenv_OsDisk_1_02133b0f90d645a7a309f68fbceaa743",
"Tags": null
},
{
"Name": "host-1-prd-secretenv/Microsoft.Insights.VMDiagnosticsSettings",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Compute/virtualMachines/extensions",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Compute/virtualMachines/host-1-prd-secretenv/extensions/Microsoft.Insights.VMDiagnosticsSettings",
"Tags": null
},
{
"Name": "secretenv.com",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Network/dnszones",
"Location": "global",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Network/dnszones/secretenv.com",
"Tags": {
}
},
{
"Name": "secretenv.com",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.DomainRegistration/domains",
"Location": "global",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.DomainRegistration/domains/secretenv.com",
"Tags": {
}
},
{
"Name": "secretenv",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Storage/storageAccounts",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Storage/storageAccounts/secretenv",
"Tags": {
}
},
{
"Name": "host-1-prd-secretenv/MicrosoftMonitoringAgent",
"ResourceGroupName": "RG-PRD-secretrg",
"ResourceType": "Microsoft.Compute/virtualMachines/extensions",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/RG-PRD-secretrg/providers/Microsoft.Compute/virtualMachines/host-1-prd-secretenv/extensions/MicrosoftMonitoringAgent",
"Tags": null
},
{
"Name": "testmigrationmourad",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Storage/storageAccounts",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Storage/storageAccounts/testmigrationmourad",
"Tags": {
}
},
{
"Name": "stop-start-meetechsfrwrd",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd",
"Tags": {
"StartStopVMVersion": "1.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/AzureAutomationTutorialPython2",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AzureAutomationTutorialPython2",
"Tags": {
}
},
{
"Name": "stop-start-meetechsfrwrd/AzureAutomationTutorial",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AzureAutomationTutorial",
"Tags": {
}
},
{
"Name": "stop-start-meetechsfrwrd/AzureAutomationTutorialScript",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AzureAutomationTutorialScript",
"Tags": {
}
},
{
"Name": "secretenv-laws",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.OperationalInsights/workspaces",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.OperationalInsights/workspaces/secretenv-laws",
"Tags": {
}
},
{
"Name": "AutoStop_VM_Child",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Insights/scheduledqueryrules",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Insights/scheduledqueryrules/AutoStop_VM_Child",
"Tags": {
"hidden-link:/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.OperationalInsights/workspaces/secretenv-laws": "Resource"
}
},
{
"Name": "SequencedStartStop_Parent",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Insights/scheduledqueryrules",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Insights/scheduledqueryrules/SequencedStartStop_Parent",
"Tags": {
"hidden-link:/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.OperationalInsights/workspaces/secretenv-laws": "Resource"
}
},
{
"Name": "StartStop_VM_Notification",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Insights/actiongroups",
"Location": "global",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Insights/actiongroups/StartStop_VM_Notification",
"Tags": null
},
{
"Name": "ScheduledStartStop_Parent",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Insights/scheduledqueryrules",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Insights/scheduledqueryrules/ScheduledStartStop_Parent",
"Tags": {
"hidden-link:/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.OperationalInsights/workspaces/secretenv-laws": "Resource"
}
},
{
"Name": "stop-start-meetechsfrwrd/AutoStop_VM_Child_ARM",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AutoStop_VM_Child_ARM",
"Tags": {
"version": "1.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/ScheduledStartStop_Base_Classic",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/ScheduledStartStop_Base_Classic",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/ScheduledStartStop_Child_Classic",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/ScheduledStartStop_Child_Classic",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/AutoStop_CreateAlert_Child",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AutoStop_CreateAlert_Child",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/AutoStop_Disable",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AutoStop_Disable",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/ScheduledStartStop_Parent",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/ScheduledStartStop_Parent",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/AutoStop_VM_Child",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AutoStop_VM_Child",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/SequencedStartStop_Parent",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/SequencedStartStop_Parent",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/AutoStop_CreateAlert_Parent",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/AutoStop_CreateAlert_Parent",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "stop-start-meetechsfrwrd/ScheduledStartStop_Child",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Automation/automationAccounts/runbooks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Automation/automationAccounts/stop-start-meetechsfrwrd/runbooks/ScheduledStartStop_Child",
"Tags": {
"version": "2.0.0.0"
}
},
{
"Name": "Start-Stop-VM[secretenv-laws]",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.OperationsManagement/solutions",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.OperationsManagement/solutions/Start-Stop-VM[secretenv-laws]",
"Tags": {
}
},
{
"Name": "ntwvpn-1-prd-secretenv-ip",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Network/publicIPAddresses",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Network/publicIPAddresses/ntwvpn-1-prd-secretenv-ip",
"Tags": null
},
{
"Name": "ntwvpn-1-prd-meetechs254",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Network/networkInterfaces",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Network/networkInterfaces/ntwvpn-1-prd-meetechs254",
"Tags": null
},
{
"Name": "ntwvpn-1-prd-secretenv",
"ResourceGroupName": "rg-prd-secretrg",
"ResourceType": "Microsoft.Compute/virtualMachines",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rg-prd-secretrg/providers/Microsoft.Compute/virtualMachines/ntwvpn-1-prd-secretenv",
"Tags": null
},
{
"Name": "ntwvpn-1-prd-secretenv_OsDisk_1_0f679e0fb7ac4be0be87275e50c83020",
"ResourceGroupName": "RG-PRD-secretrg",
"ResourceType": "Microsoft.Compute/disks",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/RG-PRD-secretrg/providers/Microsoft.Compute/disks/ntwvpn-1-prd-secretenv_OsDisk_1_0f679e0fb7ac4be0be87275e50c83020",
"Tags": null
},
{
"Name": "ntwvpn-1-prd-secretenv/MMAExtension",
"ResourceGroupName": "RG-PRD-secretrg",
"ResourceType": "Microsoft.Compute/virtualMachines/extensions",
"Location": "westeurope",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/RG-PRD-secretrg/providers/Microsoft.Compute/virtualMachines/ntwvpn-1-prd-secretenv/extensions/MMAExtension",
"Tags": null
}
]
獲得第二個 json 並讀取以下內容:
$service_level_tags_target = Get-AzResource -ResourceGroupName $targetrgname | select-object Name, ResourceGroupName, ResourceType, Location, ResourceId, Tags
ConvertTo-Json $service_level_tags_target
然后,它給出:
[
{
"Name": "mover_vnet",
"ResourceGroupName": "rgmover_test-uaenorth",
"ResourceType": "Microsoft.Network/virtualNetworks",
"Location": "uaenorth",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rgmover_test-uaenorth/providers/Microsoft.Network/virtualNetworks/mover_vnet",
"Tags": null
},
{
"Name": "vmtobemoved-ip",
"ResourceGroupName": "rgmover_test-uaenorth",
"ResourceType": "Microsoft.Network/publicIPAddresses",
"Location": "uaenorth",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rgmover_test-uaenorth/providers/Microsoft.Network/publicIPAddresses/vmtobemoved-ip",
"Tags": null
},
{
"Name": "vmtobemoved-nsg",
"ResourceGroupName": "rgmover_test-uaenorth",
"ResourceType": "Microsoft.Network/networkSecurityGroups",
"Location": "uaenorth",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rgmover_test-uaenorth/providers/Microsoft.Network/networkSecurityGroups/vmtobemoved-nsg",
"Tags": null
},
{
"Name": "vmtobemoved746",
"ResourceGroupName": "rgmover_test-uaenorth",
"ResourceType": "Microsoft.Network/networkInterfaces",
"Location": "uaenorth",
"ResourceId": "/subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rgmover_test-uaenorth/providers/Microsoft.Network/networkInterfaces/vmtobemoved746",
"Tags": null
}
]
那么,對於第一個問題,如何找到第二個 JSON 的名稱值在第一個 JSON 的名稱值中的項目:
$RG_services_level_tags_json = Get-Content "$subscriptionid\resourceGroups\$sourcergname\Source_RG_Service_level_tags.json" -Raw |
ConvertFrom-Json
$service_level_tags_target = Get-AzResource -ResourceGroupName $targetrgname |
Select-Object Name, ResourceGroupName, ResourceType, Location, ResourceId, Tags
$service_level_tags_target
上找到項目的一種方法如下。 注意:我更新了第二個 JSON 的名稱,所以至少我們得到了 2 個匹配項:# Example 1 using -in Operator
$result = $service_level_tags_target.Where({$_.Name -in $RG_services_level_tags_json.Name})
# Example 2 using -contains Operator
$result = $service_level_tags_target.Where({$RG_services_level_tags_json.Name -contains $_.Name})
我建議閱讀比較運算符,看看哪一個最適合您的需要。 例如,如果您想部分匹配,也可以使用-match
。
這將返回 2 個匹配項:
Name : stop-start-meetechsfrwrd/AutoStop_VM_Child
ResourceGroupName : rgmover_test-uaenorth
ResourceType : Microsoft.Network/virtualNetworks
Location : uaenorth
ResourceId : /subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rgmover_test-uaenorth/providers/Microsoft.Network/virtualNetworks/mover_vnet
Tags :
Name : host-1-prd-secretenv_DataDisk_1
ResourceGroupName : rgmover_test-uaenorth
ResourceType : Microsoft.Network/networkSecurityGroups
Location : uaenorth
ResourceId : /subscriptions/XXXXX-XXXXX-XXXXX/resourceGroups/rgmover_test-uaenorth/providers/Microsoft.Network/networkSecurityGroups/vmtobemoved-nsg
Tags :
對於第二個問題,如何更新標簽,您需要為每個匹配定義哪個是您想要的新標簽。
foreach($resGroup in $result)
{
$tagsaddon = # This needs to be defined here!
Update-AzTag -ResourceId $resGroup.ResourceId -Tag $tagsaddon -Operation Merge
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.