0

Я пытаюсь перечислить детали Дисков, лежащих в одной подписке. Это довольно легко для всех дисков в классическом портальном использовании - Get-AzureDiskКомандлет Azure PS для деталей диска в ARM

Но это не показывает диски, которые лежат на более новом портале. Я попытался найти эквивалентную команду в ARM, но не смог.

NB: Я использую Azure PS Version 1.5.0. Я не хочу перечислять данные о дисках VM, скорее я заинтересован в том, чтобы очистить осиротевшие диски на новом портале.

+0

Смотрите, если это помогает: https://github.com/Azure/azure-powershell/issues/1312. –

+0

Не полезно @GauravMantri – Atf

ответ

3

Проблема в том, что у ARM нет понятия диска, у него просто есть файл, который существует в хранилище. Когда вы присоединяете этот файл к VM как VHD, он становится диском, подключенным к виртуальной машине.

Если вы хотите запросить диск, вам необходимо запросить виртуальную машину, то вы получите информацию о прикрепленных к нему дисках.

Как заявил singhkays в вопросе GitHub в комментариях

Там нет прямого API для получения дисков данных. Get-AzureRmVM возвращает диски данных как часть VM вернуть

StorageProfile : { 
"DataDisks": [ 
{ 
    "Lun": 0, 
    "Caching": "ReadWrite", 
    "CreateOption": "Empty", 
    "DiskSizeGB": 1, 
    "Name": "data-disk-1", 
    "SourceImage": null, 
    "VirtualHardDisk": { 
    "Uri": "http://jenkinswinstore.blob.core.windows.net/vhds/data-disk-1.vhd" 
    } 
    } 
], 
+0

Что делать, если я удалил виртуальную машину, оставив ее vhd. Как я получу детали этого vhd в ARM? – Atf

+0

Вам нужно будет просмотреть свои учетные записи и вручную найти его –

1

, а я заинтересован в очистке осиротевших дисков в новом портале.

Если вы просто хотите найти осиротевших дисков на новом портале, на самом деле, вы пытаетесь найти неизученный VHD.

Затем все, что вам нужно, запрашивает свойство «ICloudBlob.Properties.LeaseStatus» файлов vhd.

Я пишу образец сценария для вас, он работает для меня.

$RGName = "stlvm" 
$SAName = "stlvmstorage" 
$ConName = "vhds" 
$TempObj = New-Object -TypeName PSCustomObject 
$TempObj |Add-Member -Name BlobName -MemberType NoteProperty -Value $null 
$TempObj |Add-Member -Name LeaseState -MemberType NoteProperty -Value $null 
$Keylist = Get-AzureRmStorageAccountKey -ResourceGroupName $RGName -StorageAccountName $SAName 
$Key = $Keylist[0].Value 
$Ctx = New-AzureStorageContext -StorageAccountName $SAName -StorageAccountKey $Key 
$List = Get-AzureStorageBlob -Blob *.vhd -Container $ConName -Context $Ctx 
$List | ForEach-Object { $TempObj.BlobName = $_.Name; $TempObj.LeaseState = $_.ICloudBlob.Properties.LeaseState; $TempObj } 

Вот скриншот моей лаборатории:

Sample

+0

Я собираюсь проверить ваш скрипт. Будут повышены и отмечены соответственно. Приветствия! – Atf

 Смежные вопросы

  • Нет связанных вопросов^_^