【发布时间】:2019-10-02 19:50:19
【问题描述】:
我有一个脚本,可以将资源组中的所有标签应用于组中的子资源。该脚本使用已从最新模块中删除和删除的 Find-AzureRmResource。它说它已被 Get-AzureRmResource 替换,但是我无法通过替换它来使其正常工作。我得到了错误:
"Get-AzureRmResource : 输入对象不能绑定到命令的任何参数,因为命令不接受管道输入或 input 及其属性与任何接受管道输入的参数都不匹配。”
这是原来可以工作的脚本:
$rgname = "rg123"
$group = Get-AzureRmResourceGroup $rgname
if ($group.Tags -ne $null) {
$resources = $group | Find-AzureRmResource
foreach ($r in $resources)
{
$resourcetags = (Get-AzureRmResource -ResourceId $r.ResourceId).Tags
foreach ($key in $group.Tags.Keys)
{
if (($resourcetags) -AND ($resourcetags.ContainsKey($key))) { $resourcetags.Remove($key) }
}
$resourcetags += $group.Tags
Set-AzureRmResource -Tag $resourcetags -ResourceId $r.ResourceId -Force
}
}
这是我要替换的 find-azurermresource:
$resources = $group | Get-AzureRmResource -ResourceGroupName $rgname
我也尝试了使用 -ResourceType 的变体,但仍然遇到无法接受管道输入的相同错误。是否可以使用替换的 cmdlet Get-AzureRmResource 让这条线路再次运行?
【问题讨论】:
标签: azure powershell