Fråga utdata från Azure PowerShell
Resultatet för varje Azure PowerShell-cmdlet är ett Azure PowerShell-objekt. Även cmdletar som inte uttryckligen är Get-
-åtgärder kan returnera ett värde som kan granskas för att ge information om en resurs som har skapats eller ändrats. De flesta cmdletar returnerar ett enda objekt, men vissa returnerar vissa en matris som ska itereras.
Vanligtvis kör du frågor mot utdata från Azure PowerShell med cmdleten Select-Object . Utdata kan filtreras med Where-Object.
Välja enkla egenskaper
I standardtabellformatet visar Inte Azure PowerShell-cmdletar alla tillgängliga egenskaper.
Du kan hämta de fullständiga egenskaperna med cmdleten Format-List eller genom att skicka utdata till Select-Object -Property *
:
Get-AzVM -Name TestVM -ResourceGroupName TestGroup |
Select-Object -Property *
ResourceGroupName : TESTGROUP
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TESTGROUP/providers/Micro
soft.Compute/virtualMachines/TestVM
VmId : 00000000-0000-0000-0000-000000000000
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 : 00000000-0000-0000-0000-000000000000
StatusCode : OK
När du känner till namnen på de egenskaper som du är intresserad av kan du använda dem med Select-Object
för att hämta dem direkt:
Get-AzVM -Name TestVM -ResourceGroupName TestGroup |
Select-Object -Property Name, VmId, ProvisioningState
Name VmId ProvisioningState
---- ---- -----------------
TestVM 00000000-0000-0000-0000-000000000000 Succeeded
Utdata från användning av Select-Object
formateras alltid så att den begärda informationen visas. Information om hur du använder formatering som en del av frågor till cmdlet-resultat finns i Formatera cmdlet-utdata i Azure PowerShell.
Välja kapslade egenskaper
Vissa egenskaper i cmdlet-utdata i Azure PowerShell använder kapslade objekt som egenskapen StorageProfile
i Get-AzVM
-utdata. Om du vill ha ett värde från en kapslad egenskap anger du ett visningsnamn och den fullständiga sökvägen till det värde du vill granska som en del av ett ordlisteargument för Select-Object
:
Get-AzVM -ResourceGroupName TestGroup |
Select-Object -Property Name, @{label='OSType'; expression={$_.StorageProfile.OSDisk.OSType}}
Name OSType
---- ------
TestVM Linux
TestVM2 Linux
WinVM Windows
Varje ordlisteargument väljer en egenskap från objektet. Den egenskap som ska extraheras måste vara en del av ett uttryck.
Filtrera resultat
Med cmdleten Where-Object
kan du filtrera resultatet baserat på valfritt egenskapsvärde, inklusive kapslade egenskaper. I nästa exempel visas hur du använder Where-Object
för att hitta de virtuella Linux-datorerna i en resursgrupp.
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
Du kan dirigera resultaten för Select-Object
och Where-Object
till varandra. Av prestandaskäl rekommenderar vi alltid att du placerar åtgärden Where-Object
före Select-Object
:
Get-AzVM -ResourceGroupName TestGroup |
Where-Object {$_.StorageProfile.OsDisk.OsType -eq 'Linux'} |
Select-Object -Property Name, VmID, ProvisioningState
Name VmId ProvisioningState
---- ---- -----------------
TestVM 00000000-0000-0000-0000-000000000000 Succeeded
TestVM2 00000000-0000-0000-0000-000000000000 Succeeded
Azure PowerShell
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för