azure - Get-AzSnapshot:无法将“System.Object []”转换为参数所需的类型“System.String”不支持指定的方法
问题描述
我的要求是删除超过 7 天且名称为appname-的快照。但在删除之前,我需要获取一些名称的快照数据。该脚本最初执行并提供一些快照数据,但在中间出现错误。有人可以帮我解决这个问题。为什么我收到此错误消息以及如何解决
==================================================== ========================
Get-AzSnapshot:无法将“System.Object[]”转换为参数“ResourceGroupName”所需的类型“System.String”。不支持指定的方法。在 line:6 char:39 + Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotNam ... + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Get- AzSnapshot],ParameterBindingException
+fullyQualifiedErrorId:CannotConvertArgument、Microsoft.Azure.Commands.Compute.Automation.GetAzureRmSnapshot
$snapshotnames = (Get-AzSnapshot).Name
foreach($snapname in $snapshotnames)
{
$resourceGroupName = (Get-AzResource -Name $snapname).ResourceGroupName
Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapname | Where-Object {($_.TimeCreated -eq (Get-Date).AddDays(-3))} <#-and ($_.Name -like '*-2019_*') } | select Name,TimeCreated -Verbose
}
解决方案
(Get-AzResource -Name $snapname).ResourceGroupName
这将返回一个Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PSResource
对象集合,每个对象都有ResourceGroupName
属性。您需要添加逻辑来过滤$resourceGroupName
变量以仅包含您要查找的变量。
推荐阅读
- node.js - 如何使用 Puppppeteer 计算页面完全加载?
- javascript - Bootstrap Multi-Select - 取消选择/取消选中所有选项时无法启用选择
- node.js - can't update the node js version and npm version
- sql - 'smt' 是什么意思,为什么'smt' 经常用作数据库名称的前缀?
- html - CSS 背景 url 显示带有 Bracket 的实时预览,但在 Chrome 或 Safari 直接打开时不起作用
- jsviews - 新版本的 jsViews 后,依赖不工作
- python - 更改数据框中的元素
- google-cloud-run - REST 中的 `gcloud beta run deploy --image [image] --allow-unauthenticated` 的等价物是什么?
- homebrew - 如何在 Mac OSX.Brew 中安装 Podman,无根容器?
- r - 如何调整“Oaxaca”包回归模型以使结果独立于指标变量的参考类别?