Замените Find-AzureRmResource на Get-AzureRmResource в AzureRM для маркировки ресурсов - PullRequest
0 голосов
/ 02 октября 2019

У меня есть скрипт, который будет применять все теги в группе ресурсов к дочерним ресурсам в группе. Скрипт использует Find-AzureRmResource, который был удален и удален из новейших модулей. В нем говорится, что он был заменен Get-AzureRmResource, однако я не могу заставить его работать должным образом с заменой на него. Я получаю сообщение об ошибке:

"Get-AzureRmResource: объект ввода не может быть привязан ни к каким параметрам для команды, поскольку команда не принимает входные данные конвейера или входные данные, а ее свойства не соответствуют ни одному из параметров. которые принимают входные данные конвейера. "

Вот оригинальный скрипт, который работал:

$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, но все равно получаю ту же ошибку, что не может принимать входные данные конвейера. Есть ли еще способ заставить эту строку работать снова с замененным командлетом Get-AzureRmResource?

1 Ответ

0 голосов
/ 02 октября 2019

Вы можете сразу использовать следующее, не нужно использовать Get-AzureRmResourceGroup:

$resources = Get-AzureRmResource -ResourceGroupName $rgname

Это позволит получить все ресурсы из этой конкретной группы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...