Sorgu çıktısı Azure PowerShell
Her bir Azure PowerShell cmdlet'in sonuçları, Azure PowerShell nesnedir. Açıkça işlem olmayan cmdlet'ler bile, oluşturulmuş veya değiştirilmiş bir kaynakla ilgili bilgi vermek için inceletilecek Get- bir değer dönüşmesini sağlar. Çoğu cmdlet'ler tek bir nesne döndürürken, bazıları üzerinden geçen bir dizi döndürür.
Hemen her durumda, nesne seçme cmdlet'iyle Azure PowerShell çıkışını sorgularsiniz. Çıkış, Where-Object ile filtrelenmiş olabilir.
Basit özellikleri seçme
Varsayılan tablo biçiminde, Azure PowerShell cmdlet'ler kullanılabilir özelliklerinin hepsini görüntülemez. Format-List cmdlet'ini veya piping çıkışını kullanarak tüm özellikleri elde etmek Select-Object -Property * için:
Get-AzVM -Name TestVM -ResourceGroupName TestGroup |
Select-Object -Property *
ResourceGroupName : TESTGROUP
Id : /subscriptions/711d8ed1-b888-4c52-8ab9-66f07b87eb6b/resourceGroups/TESTGROUP/providers/Micro
soft.Compute/virtualMachines/TestVM
VmId : 711d8ed1-b888-4c52-8ab9-66f07b87eb6b
Name : TestVM
Type : Microsoft.Compute/virtualMachines
Location : westus2
LicenseType :
Tags : {}
AvailabilitySetReference :
DiagnosticsProfile :
Extensions : {}
HardwareProfile : Microsoft.Azure.Management.Compute.Models.HardwareProfile
InstanceView :
NetworkProfile : Microsoft.Azure.Management.Compute.Models.NetworkProfile
OSProfile : Microsoft.Azure.Management.Compute.Models.OSProfile
Plan :
ProvisioningState : Succeeded
StorageProfile : Microsoft.Azure.Management.Compute.Models.StorageProfile
DisplayHint : Compact
Identity :
Zones : {}
FullyQualifiedDomainName :
AdditionalCapabilities :
RequestId : 711d8ed1-b888-4c52-8ab9-66f07b87eb6b
StatusCode : OK
İlgilenilen özelliklerin adlarını bir kez biliyorsanız, doğrudan almak için bu özellik Select-Object adlarını kullanabilirsiniz:
Get-AzVM -Name TestVM -ResourceGroupName TestGroup |
Select-Object -Property Name, VmId, ProvisioningState
Name VmId ProvisioningState
---- ---- -----------------
TestVM 711d8ed1-b888-4c52-8ab9-66f07b87eb6b Succeeded
Kullanımından çıkışı Select-Object her zaman istenen bilgileri görüntülemek için biçimlendirilen çıktıdır. Cmdlet sonuçlarını sorgulamanın bir parçası olarak biçimlendirmeyi kullanma hakkında bilgi edinmek için bkz. Azure PowerShell cmdlet çıktısını biçimlendirme.
İç içe özellikleri seçme
cmdlet Azure PowerShell özelliklerinde, çıktı özelliği gibi iç StorageProfile içe nesneler Get-AzVM kullanılır. İç içe bir özellikten değer almak için, sözlük bağımsız değişkeninin bir parçası olarak incelemek istediğiniz değerin tam yolunu ve bir görünen ad Select-Object girin:
Get-AzVM -ResourceGroupName TestGroup |
Select-Object -Property Name, @{Name='OSType'; Expression={$_.StorageProfile.OSDisk.OSType}}
Name OSType
---- ------
TestVM Linux
TestVM2 Linux
WinVM Windows
Her sözlük bağımsız değişkeni nesneden bir özellik seçer. Ayıklanan özellik bir ifadenin parçası olmalı.
Sonuçları filtreleme
Where-ObjectCmdlet, iç içe özellikler dahil olmak üzere herhangi bir özellik değerine göre sonucu filtrelemeye olanak sağlar. Sonraki örnekte, bir kaynak grubunda Where-Object Linux vm'leri bulmak için nasıl kullanabileceğiniz gösterilmektedir.
Get-AzVM -ResourceGroupName TestGroup |
Where-Object {$_.StorageProfile.OSDisk.OSType -eq 'Linux'}
ResourceGroupName Name Location VmSize OsType NIC ProvisioningState Zone
----------------- ---- -------- ------ ------ --- ----------------- ----
TestGroup TestVM westus2 Standard_D2s_v3 Linux testvm299 Succeeded
TestGroup TestVM2 westus2 Standard_D2s_v3 Linux testvm2669 Succeeded
Sonuçları birbirine ve sonra Select-Object Where-Object da başka bir maddeye iletirsiniz. Performansla ilgili olarak, her zaman işlemi şu önce koymak Where-Object Select-Object önerilir:
Get-AzVM -ResourceGroupName TestGroup |
Where-Object {$_.StorageProfile.OsDisk.OsType -eq 'Linux'} |
Select-Object -Property Name, VmID, ProvisioningState
Name VmId ProvisioningState
---- ---- -----------------
TestVM 711d8ed1-b888-4c52-8ab9-66f07b87eb6 Succeeded
TestVM2 cbcee769-dd78-45e3-a14d-2ad11c647d0 Succeeded