Query's uitvoeren op Azure-resources

In PowerShell kunnen query's worden uitgevoerd met behulp van ingebouwde cmdlets. De namen van de cmdlets in PowerShell hebben de indeling werkwoord-zelfstandig naamwoord. De cmdlets met het werkwoord Get zijn de query-cmdlets. De zelfstandige naamwoorden in de namen van de cmdlets zijn de soorten Azure-resources waarop de werkwoorden van de cmdlets hun bewerkingen uitvoeren.

Eenvoudige eigenschappen selecteren

In Azure PowerShell is voor elke cmdlet een standaardopmaak gedefinieerd. De meest algemene eigenschappen voor elk resourcetype worden automatisch weergegeven in een tabel- of lijstweergave. Zie Queryresultaten opmaken voor meer informatie over het opmaken van uitvoer.

Gebruik de cmdlet Get-AzureRmVM om een query uit te voeren op een lijst met virtuele machines in uw account.

Get-AzureRmVM

De standaarduitvoer wordt automatisch opgemaakt als een tabel.

ResourceGroupName          Name   Location          VmSize  OsType              NIC ProvisioningState
-----------------          ----   --------          ------  ------              --- -----------------
MYWESTEURG        MyUnbuntu1610 westeurope Standard_DS1_v2   Linux myunbuntu1610980         Succeeded
MYWESTEURG          MyWin2016VM westeurope Standard_DS1_v2 Windows   mywin2016vm880         Succeeded

De cmdlet Select-Object kan worden gebruikt om de specifieke eigenschappen te selecteren die voor u interessant zijn.

Get-AzureRmVM | Select Name,ResourceGroupName,Location
Name          ResourceGroupName Location
----          ----------------- --------
MyUnbuntu1610 MYWESTEURG        westeurope
MyWin2016VM   MYWESTEURG        westeurope

Complexe geneste eigenschappen selecteren

Als de eigenschap die u wilt selecteren, diep is genest in de JSON-uitvoer, moet u het volledige pad naar die geneste eigenschap opgeven. Het volgende voorbeeld laat zien hoe de VM-naam en het besturingssysteemtype voor de cmdlet Get-AzureRmVM kunnen worden geselecteerd.

Get-AzureRmVM | Select Name,@{Name='OSType'; Expression={$_.StorageProfile.OSDisk.OSType}}
Name           OSType
----           ------
MyUnbuntu1610   Linux
MyWin2016VM   Windows

Filterresultaat van de cmdlet Where-Object

Met de cmdlet Where-Object kunt u het resultaat op basis van een eigenschapswaarde filteren. In het volgende voorbeeld worden met het filter alleen de virtuele machines geselecteerd die de tekst 'RGD' in hun naam hebben.

Get-AzureRmVM | Where ResourceGroupName -like RGD* | Select ResourceGroupName,Name
ResourceGroupName  Name
-----------------  ----
RGDEMO001          KBDemo001VM
RGDEMO001          KBDemo020

In het volgende voorbeeld worden als resultaat de virtuele machines geretourneerd die als vmSize 'Standard_DS1_V2' hebben.

Get-AzureRmVM | Where vmSize -eq Standard_DS1_V2
ResourceGroupName          Name     Location          VmSize  OsType              NIC ProvisioningState
-----------------          ----     --------          ------  ------              --- -----------------
MYWESTEURG        MyUnbuntu1610   westeurope Standard_DS1_v2   Linux myunbuntu1610980         Succeeded
MYWESTEURG          MyWin2016VM   westeurope Standard_DS1_v2 Windows   mywin2016vm880         Succeeded