Schnellstart: Ausführen einer Resource Graph-Abfrage unter Verwendung von Azure PowerShell

In dieser Schnellstartanleitung wird erläutert, wie Sie eine Azure Resource Graph-Abfrage unter Verwendung des Moduls Az.ResourceGraph für Azure PowerShell ausführen. Außerdem wird in dem Artikel gezeigt, wie Sie die Ergebnisse der Abfrage sortieren und einschränken. Sie können eine Abfrage für Ressourcen in Ihrem Mandanten, in Verwaltungsgruppen oder in Abonnements ausführen. Nach Abschluss des Vorgangs können Sie das Modul entfernen.

Voraussetzungen

Installieren Sie das Modul

Installieren Sie das Az.ResourceGraph-Modul, damit Sie Azure PowerShell verwenden können, um Azure Resource Graph-Abfragen auszuführen. Das Azure Resource Graph-Modul erfordert PowerShellGet ab Version 2.0.1. Wenn Sie die neuesten Versionen von PowerShell und Azure PowerShell installiert haben, verfügen Sie bereits über die erforderliche Version.

  1. Überprüfen Sie Ihre PowerShellGet-Version:

    Get-Module -Name PowerShellGet
    

    Wenn ein Update erforderlich ist, navigieren Sie zu PowerShellGet.

  2. Installieren Sie das -Modul:

    Install-Module -Name Az.ResourceGraph -Repository PSGallery -Scope CurrentUser
    

    Der Befehl installiert das Modul im CurrentUser-Bereich. Wenn Sie im AllUsers-Bereich installieren müssen, führen Sie die Installation in einer PowerShell-Sitzung mit Administratorberechtigung aus.

  3. Überprüfen Sie, ob das Modul installiert wurde:

    Get-Command -Module Az.ResourceGraph -CommandType Cmdlet
    

    Der Befehl zeigt die Version des Cmdlets Search-AzGraph an und lädt das Modul in Ihre PowerShell-Sitzung.

Herstellen einer Verbindung mit Azure

Stellen Sie in einer Visual Studio Code-Terminalsitzung eine Verbindung mit Azure her. Wenn Sie über mehrere Abonnements verfügen, führen Sie die Befehle aus, um den Kontext für Ihr Abonnement festzulegen. Ersetzen Sie <subscriptionID> durch Ihre Azure-Abonnement-ID.

Connect-AzAccount

# Run these commands if you have multiple subscriptions
Get-AzSubScription
Set-AzContext -Subscription <subscriptionID>

Ausführen einer Abfrage

Nachdem das Modul zu Ihrer Umgebung hinzugefügt wurde, können Sie eine mandantenbasierte Abfrage ausführen. Die Abfrage in diesem Beispiel gibt fünf Azure-Ressourcen mit dem Namen (name) und Typ (type) der jeweiligen Ressource zurück. Verwenden Sie für eine Abfrage nach Verwaltungsgruppe oder Abonnement die Parameter -ManagementGroup oder -Subscription.

  1. Führen Sie eine Azure Resource Graph-Abfrage mit dem Search-AzGraph-Cmdlet aus:

    Search-AzGraph -Query 'Resources | project name, type | limit 5'
    

    In diesem Abfragebeispiel wird kein Sortierungsmodifizierer wie order by verwendet. Wenn Sie die Abfrage mehrfach ausführen, wird möglicherweise für jede Anforderung eine andere Gruppe von Ressourcen zurückgegeben.

  2. Aktualisieren Sie die Abfrage, um die Ergebnisse mithilfe von order by nach der name-Eigenschaft zu sortieren:

    Search-AzGraph -Query 'Resources | project name, type | limit 5 | order by name asc'
    

    Genau wie bei der vorherigen Abfrage gilt: Wenn Sie diese Abfrage mehrfach ausführen, wird möglicherweise für jede Anforderung eine andere Gruppe von Ressourcen zurückgegeben. Die Reihenfolge der Abfragebefehle ist wichtig. In diesem Beispiel kommt order by nach limit. Die Abfrage beschränkt die Ergebnisse auf fünf Ressourcen und sortiert diese Ergebnisse dann nach Name.

  3. Aktualisieren Sie die Abfrage, um die Ergebnisse mithilfe von order by nach der name-Eigenschaft zu sortieren und die Ausgabe mithilfe von limit auf fünf Ergebnisse zu beschränken:

    Search-AzGraph -Query 'Resources | project name, type | order by name asc | limit 5'
    

    Wenn diese Abfrage mehrmals ausgeführt wird und sich in Ihrer Umgebung nichts geändert hat, sind die Ergebnisse konsistent und nach der name-Eigenschaft sortiert, aber immer noch auf fünf Ergebnisse begrenzt. Die Abfrage sortiert die Ergebnisse nach Name und beschränkt dann die Ausgabe auf fünf Ressourcen.

Beachten Sie, dass das Cmdlet Search-AzGraph standardmäßig Abonnements im Standardkontext verwendet, wenn eine Abfrage keine Ergebnisse aus einem Abonnement zurückgibt, auf das Sie bereits Zugriff haben. Wenn Sie die Liste der Abonnement-IDs anzeigen möchten, die Teil des Standardkontexts sind, führen Sie (Get-AzContext).Account.ExtendedProperties.Subscriptions aus. Wenn Sie alle Abonnements durchsuchen möchten, auf die Sie Zugriff haben, können Sie PSDefaultParameterValues für das Cmdlet Search-AzGraph durch Ausführen von $PSDefaultParameterValues=@{"Search-AzGraph:Subscription"= $(Get-AzSubscription).ID} festlegen.

Bereinigen von Ressourcen

Führen Sie den folgenden Befehl aus, um das Az.ResourceGraph-Modul aus Ihrer PowerShell-Sitzung zu entfernen:

Remove-Module -Name Az.ResourceGraph

Führen Sie den folgenden Befehl aus, um das Az.ResourceGraph-Modul auf Ihrem Computer zu deinstallieren:

Uninstall-Module -Name Az.ResourceGraph

Möglicherweise wird eine Meldung angezeigt, dass das Az.ResourceGraph-Modul zurzeit verwendet wird. In diesem Fall fahren Sie Ihre PowerShell-Sitzung herunter und starten eine neue Sitzung. Führen Sie dann den Befehl aus, um das Modul auf Ihrem Computer zu deinstallieren.

Abmeldung von Ihrer Azure PowerShell-Sitzung:

Disconnect-AzAccount

Nächste Schritte

In dieser Schnellstartanleitung haben Sie das Resource Graph-Modul zu Ihrer Azure PowerShell-Umgebung hinzugefügt und eine Abfrage ausgeführt. Weitere Informationen finden Sie auf der Seite mit Details zur Abfragesprache.