azure - 在 AzureRM 中将 Find-AzureRmResource 替换为 Get-AzureRmResource 以标记资源
问题描述
我有一个脚本,它将资源组中的所有标签应用于组中的子资源。该脚本使用已从最新模块中删除和删除的 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 的变体,但仍然遇到无法接受管道输入的相同错误。是否可以使用替换的 cmdlet Get-AzureRmResource 让这条线路再次运行?
解决方案
您可以立即使用以下内容,无需使用Get-AzureRmResourceGroup
:
$resources = Get-AzureRmResource -ResourceGroupName $rgname
这将从该特定组获取所有资源。
推荐阅读
- python - iPython:如何从模块中导入新添加的功能?
- scala - 如何在没有数据集到 rdd 转换的情况下做到这一点?
- ms-access - 访问报告无法在 A3 上以全尺寸打印图表
- python - Python 包脚本仅适用于 Linux
- java - 使用单独的资源文件创建 Jar
- java - 用于高效合并 CSV 写入数据的数据结构
- node.js - 每当我在 VSCode 中开始调试时,如何防止显示运行/调试窗口
- ruby-on-rails - 我可以在种子文件中使用查找器方法吗?
- python - 从平铺图像中查找或检测单个平铺
- python - 我的文章首先显示最旧的,但我希望它首先显示新文章,如日期明智的新文章应该出现在顶部