Get-AzSnapshot: невозможно преобразовать 'System.Object []' в тип 'System.String', требуемый параметром. Указанный метод не поддерживается - PullRequest
0 голосов
/ 26 апреля 2019

Мое требование - удалить снимки старше 7 дней с именем, например appname- . но перед удалением мне нужно получить данные снимка с некоторыми именами. Сценарий выполняется и предоставляет некоторые данные моментального снимка, но в средней части ошибки ниже. Может ли кто-нибудь помочь мне в этом. Почему я получил это сообщение об ошибке и как исправить

=============================================== ==========================

Get-AzSnapshot: не удалось преобразовать 'System.Object []' в тип "System.String", требуемый параметром "ResourceGroupName". указанный метод не поддерживается. В строке: 6 символов: 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 

}

1 Ответ

0 голосов
/ 26 апреля 2019
(Get-AzResource -Name $snapname).ResourceGroupName

Это вернет коллекцию Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PSResource объектов, каждый из которых имеет свойство ResourceGroupName. Вам необходимо добавить логику для фильтрации переменной $resourceGroupName, чтобы она содержала только ту, которую вы ищете.

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