Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Ergebnisse jedes Azure PowerShell-Cmdlets sind ein Azure PowerShell-Objekt. Sogar Cmdlets, die nicht explizit Get- Vorgänge sind, geben möglicherweise einen Wert zurück, der überprüft werden kann, um Informationen zu einer Ressource zu geben, die erstellt oder geändert wurde. Während die meisten Cmdlets ein einzelnes Objekt zurückgeben, geben einige ein Array zurück, das durchlaufen werden soll.
In der Regel fragen Sie die Ausgabe von Azure PowerShell mit dem Cmdlet Select-Object ab. Die Ausgabe kann mit Where-Object gefiltert werden.
Auswählen einfacher Eigenschaften
Im Standardtabellenformat zeigen Azure PowerShell-Cmdlets nicht alle verfügbaren Eigenschaften an.
Sie können die vollständigen Eigenschaften mithilfe des Cmdlets "Format-List " abrufen oder die Ausgabe an 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
Sobald Sie die Namen der eigenschaften kennen, an denen Sie interessiert sind, können Sie diese Eigenschaftsnamen Select-Object verwenden, um sie direkt abzurufen:
Get-AzVM -Name TestVM -ResourceGroupName TestGroup |
Select-Object -Property Name, VmId, ProvisioningState
Name VmId ProvisioningState
---- ---- -----------------
TestVM 00000000-0000-0000-0000-000000000000 Succeeded
Die Ausgabe der Verwendung Select-Object ist immer so formatiert, dass die angeforderten Informationen angezeigt werden. Informationen zur Verwendung der Formatierung als Teil der Abfrage von Cmdlet-Ergebnissen finden Sie unter Format azure PowerShell-Cmdlet-Ausgabe.
Auswählen geschachtelter Eigenschaften
Einige Eigenschaften in der Ausgabe des Azure PowerShell-Cmdlets verwenden geschachtelte Objekte, z. B. die StorageProfile Eigenschaft der Get-AzVM Ausgabe. Um einen Wert aus einer geschachtelten Eigenschaft abzurufen, geben Sie einen Anzeigenamen und den vollständigen Pfad zu dem Wert an, den Sie als Teil eines Wörterbucharguments prüfen möchten:Select-Object
Get-AzVM -ResourceGroupName TestGroup |
Select-Object -Property Name, @{label='OSType'; expression={$_.StorageProfile.OSDisk.OSType}}
Name OSType
---- ------
TestVM Linux
TestVM2 Linux
WinVM Windows
Jedes Wörterbuchargument wählt eine Eigenschaft aus dem Objekt aus. Die zu extrahierende Eigenschaft muss Teil eines Ausdrucks sein.
Filtern von Ergebnissen
Mit dem Where-Object Cmdlet können Sie das Ergebnis basierend auf einem beliebigen Eigenschaftswert filtern, einschließlich geschachtelter Eigenschaften. Das nächste Beispiel zeigt, wie Where-Object Sie die Linux-VMs in einer Ressourcengruppe finden.
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
Sie können die Ergebnisse von Select-Object und Where-Object aneinander pfeifen. Für Leistungszwecke wird immer empfohlen, den Where-Object Vorgang vorzustellen 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