Snabbstart: Köra Resource Graph-fråga med Azure PowerShell

Den här snabbstarten beskriver hur du kör en Azure Resource Graph-fråga med hjälp av modulen Az.ResourceGraph för Azure PowerShell. Modulen ingår i den senaste versionen av Azure PowerShell och lägger till cmdletar för Resource Graph.

Artikeln visar också hur du beställer (sorterar) och begränsar frågans resultat. Du kan köra en fråga för resurser i din klientorganisation, hanteringsgrupper eller prenumerationer.

Förutsättningar

Installera modulen

Om du har installerat de senaste versionerna av PowerShell och Azure PowerShell har du redan modulen och den Az.ResourceGraph version av PowerShellGet som krävs.

Valfri modulinstallation

Använd följande steg för att installera modulen Az.ResourceGraph så att du kan använda Azure PowerShell för att köra Azure Resource Graph-frågor. Azure Resource Graph-modulen kräver PowerShellGet version 2.0.1 eller senare.

  1. Verifiera din PowerShellGet-version:

    Get-Module -Name PowerShellGet
    

    Om du behöver uppdatera går du till PowerShellGet.

  2. Installera modulen:

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

    Kommandot installerar modulen i omfånget CurrentUser . Om du behöver installera i omfånget AllUsers kör du installationen från en administrativ PowerShell-session.

  3. Kontrollera att modulen har installerats:

    Get-Command -Module Az.ResourceGraph -CommandType Cmdlet
    

    Kommandot visar Search-AzGraph cmdlet-versionen och läser in modulen i PowerShell-sessionen.

Ansluta till Azure

Anslut till Azure från en terminalsession i Visual Studio Code. Om du har fler än en prenumeration kör du kommandona för att ange kontext till din prenumeration. Ersätt <subscriptionID> med ditt Azure-prenumerations-ID.

Connect-AzAccount

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

Köra en fråga

När modulen har lagts till i din miljö kan du köra en klientbaserad fråga. Frågan i det här exemplet returnerar fem Azure-resurser med name och type för varje resurs. Om du vill fråga efter hanteringsgrupp eller prenumeration använder du parametrarna -ManagementGroup eller -Subscription .

  1. Kör en Azure Resource Graph-fråga med hjälp av cmdleten Search-AzGraph :

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

    Det här frågeexemplet använder inte en sorteringsmodifierare som order by. Om du kör frågan flera gånger kan det ge en annan uppsättning resurser för varje begäran.

  2. Uppdatera frågan till order by egenskapen name :

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

    Om du kör den här frågan flera gånger kan det, precis som i föregående fråga, ge en annan uppsättning resurser för varje begäran. Ordningen på frågekommandona är viktig. I det här exemplet kommer order by efter limit. Frågan begränsar resultatet till fem resurser och beställer sedan resultaten efter namn.

  3. Uppdatera frågan till order by name egenskapen och sedan limit utdata till fem resultat:

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

    Om den här frågan körs flera gånger utan ändringar i din miljö är resultaten konsekventa och ordnade efter name egenskapen, men är fortfarande begränsade till fem resultat. Frågan beställer resultatet efter namn och begränsar sedan utdata till fem resurser.

Om en fråga inte returnerar resultat från en prenumeration som du redan har åtkomst till bör du tänka på att Search-AzGraph cmdleten är standard för prenumerationer i standardkontexten. Om du vill se listan över prenumerations-ID:t som ingår i standardkontexten kör du detta (Get-AzContext).Account.ExtendedProperties.Subscriptions Om du vill söka i alla prenumerationer som du har åtkomst till anger du cmdleten PSDefaultParameterValues för Search-AzGraph genom att köra $PSDefaultParameterValues=@{"Search-AzGraph:Subscription"= $(Get-AzSubscription).ID}

Rensa resurser

Logga ut från Azure PowerShell-sessionen:

Disconnect-AzAccount

Valfria rensningssteg

Om du har installerat den senaste versionen av Azure PowerShell inkluderas modulen Az.ResourceGraph och bör inte tas bort. Följande steg är valfria om du gjorde en manuell installation av modulen Az.ResourceGraph och vill ta bort modulen.

Kör följande kommando för att ta bort modulen Az.ResourceGraph från PowerShell-sessionen:

Remove-Module -Name Az.ResourceGraph

Om du vill avinstallera modulen Az.ResourceGraph från datorn kör du följande kommando:

Uninstall-Module -Name Az.ResourceGraph

Ett meddelande kan visas om att modulen Az.ResourceGraph används för närvarande. I så fall måste du stänga av PowerShell-sessionen och starta en ny session. Kör sedan kommandot för att avinstallera modulen från datorn.

Nästa steg

I den här snabbstarten lade du till Resource Graph-modulen i Azure PowerShell-miljön och körde en fråga. Mer information finns på sidan med information om frågespråk.