【问题标题】:Replace Find-AzureRmResource with Get-AzureRmResource in AzureRM for Tagging Resources在 AzureRM 中将 Find-AzureRmResource 替换为 Get-AzureRmResource 以标记资源
【发布时间】: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


    【解决方案1】:

    你可以直接使用下面的,不用Get-AzureRmResourceGroup

    $resources = Get-AzureRmResource -ResourceGroupName $rgname

    这将从该特定组获取所有资源。

    【讨论】:

    • 修复了它,只是替换了以下行:$resources = $group | Find-AzureRmResource 上面有你的行。
    猜你喜欢
    • 1970-01-01
    • 2019-01-01
    • 2017-02-07
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多