【发布时间】:2021-06-03 14:59:04
【问题描述】:
我目前正在尝试从 Azure 策略中提取数据以实现一些自动化:
(Get-AzPolicyState -Filter "ComplianceState eq 'NonCompliant'" | Where-Object {$.PolicyDefinitionReferenceId -eq "应为虚拟机_1 启用天蓝色备份"} | Where-Object {$ .SubscriptionId -eq "0000"}).ResourceId
类型名称:System.String
示例输出
/subscriptions/00/resourcegroups/rg-test/providers/microsoft.compute/virtualmachines/vm-test
/subscriptions/00/resourcegroups/rg-test2/providers/microsoft.compute/virtualmachines/vm-test2
我对如何将资源组名称和虚拟机名称仅拉入变量数组感到困惑。 资源组名称始终以 /resourcegroups/ 开头,VM 名称始终以 /virtualmachines/ 开头。
任何指导将不胜感激。谢谢!
【问题讨论】:
-
$rg,$vm= '/subscriptions/00/resourcegroups/rg-test/providers/microsoft.compute/virtualmachines/vm-test' -replace '^.*/resourcegroups/([^/]+)/.*virtualmachines/([^/]+)','$1/$2' -split '/' -
怎么样?您的问题解决了吗?
标签: azure powershell