Search code examples
azurepowershellautomationazure-runbook

The command 'Get-AzFunctionApp ' is not working in Azure Automation Runbook


I have created a Runbook and added below cmdlet

   Get-AzFunctionApp  | Stop-AzFunctionApp

I get below error

The term 'Get-AzFunctionApp' is not recognized as the name of a cmdlet,

I have imported all the below modules but no luck

enter image description here

After adding 'Az.Functions' I get below error

Failed Cannot validate argument on parameter 'SubscriptionId'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again. (The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.)


Solution

  • The cmdlet Get-AzFunctionApp / Stop-AzFunctionApp are included in this module: Az.Functions.

    Please import this module and then the functions related operation will work.

    Here is an example(please note that add the -Force parameter for Stop-AzFunctionApp), it works as per my testing:

    $Conn = Get-AutomationConnection -Name AzureRunAsConnection
    Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
    
    Get-AzFunctionApp -ResourceGroupName xxx | Stop-AzFunctionApp -Force