Il primo runbook del flusso di lavoro PowerShell

Questa esercitazione illustra la creazione di un runbook del flusso di lavoro PowerShell in Automazione di Azure. Si inizia con un runbook semplice che viene testato e pubblicato, quindi viene illustrato come tenere traccia dello stato del processo del runbook. Si modifica quindi il runbook per gestire effettivamente le risorse di Azure, avviando in questo caso una macchina virtuale di Azure. Si rende infine il runbook più affidabile aggiungendo i relativi parametri.

Prerequisiti

Per completare l'esercitazione, sono necessari gli elementi seguenti:

  • Sottoscrizione di Azure. Se non si ha ancora una sottoscrizione, è possibile attivare i vantaggi dell'abbonamento MSDN oppure iscriversi per ottenere un account gratuito.
  • Account di Automazione che conterrà il runbook ed eseguirà l'autenticazione con le risorse di Azure. Questo account deve avere l'autorizzazione per avviare e arrestare la macchina virtuale.
  • Macchina virtuale di Azure. La macchina virtuale viene arrestata e avviata, quindi non deve essere una macchina virtuale di produzione.

Passaggio 1: Creare nuovo runbook

Si inizierà creando un runbook semplice che restituisce il testo Hello World.

  1. Nel portale di Azure aprire l'account di automazione.
    La pagina dell'account di automazione offre una visualizzazione rapida delle risorse di questo account. Dovrebbero essere già disponibili alcuni asset. Per la maggior parte sono i moduli inclusi automaticamente in un nuovo account di automazione. Dovrebbe essere disponibile anche l'asset credenziali citato nei prerequisiti.
  2. Fare clic sul riquadro Runbook per aprire l'elenco dei runbook.

    Controllo Runbook
  3. Creare un nuovo runbook facendo clic sul pulsante Aggiungi Runbook e quindi su Crea un nuovo runbook.
  4. Denominare il runbook MyFirstRunbook-Workflow.
  5. In questo caso si sta creando un runbook del flusso di lavoro PowerShell, quindi selezionare Flusso di lavoro PowerShell per Tipo di Runbook.

    Nuovo runbook
  6. Fare clic su Crea per creare il runbook e aprire l'editor di testo.

Passaggio 2: - aggiungere un codice al runbook

È possibile digitare il codice direttamente nel runbook, oppure è possibile selezionare i cmdlet, i runbook e le risorse dal controllo della libreria e aggiungerle al runbook con tutti i parametri correlati. Per questa procedura dettagliata, si digiterà direttamente nel runbook.

  1. Il runbook è attualmente vuoto con solo la parola chiave richiesta workflow , il nome del runbook e le parentesi graffe che racchiuderanno l'intero flusso di lavoro.

    Workflow MyFirstRunbook-Workflow
    {
    }
    
  2. Digitare Write-Output "Hello World". tra parentesi graffe.

    Workflow MyFirstRunbook-Workflow
    {
    Write-Output "Hello World"
    }
    
  3. Salvare il runbook facendo clic su Salva.

    Salvataggio del runbook

Passaggio 3: Testare il runbook

Prima di pubblicare il runbook per renderlo disponibile nell'ambiente di produzione, occorre testarlo per verificare che funzioni correttamente. Quando si testa un runbook, è necessario eseguire la versione Bozza e visualizzarne l'output in modo interattivo.

  1. Fare clic su Pannello di test per aprire il pannello di test.

    Pannello di test
  2. Fare clic su Avvia per avviare il test. Questa deve essere l'unica opzione abilitata.
  3. Viene creato un processo del runbook e il relativo stato viene visualizzato.
    Lo stato del processo verrà avviato come In coda per indicare che è in attesa della disponibilità di un thread di lavoro del runbook nel cloud. Lo stato passerà quindi ad Avvio in corso quando un ruolo di lavoro richiede il processo e quindi a In esecuzione quando l'esecuzione del runbook viene effettivamente avviata.
  4. Al termine del processo del runbook, viene visualizzato l'output. In questo caso, dovrebbe essere visualizzato Hello World.

    Hello World
  5. Chiudere il riquadro di test per tornare all'area di disegno.

Passaggio 4: Pubblicare e avviare il runbook

Il runbook appena creato è ancora in modalità Bozza. È necessario pubblicarlo prima di poterlo eseguire in produzione. Quando si pubblica un runbook, è possibile sovrascrivere la versione pubblicata esistente con la versione bozza. In questo caso, non esiste ancora una versione pubblicata perché il runbook è appena stato creato.

  1. Fare clic su Pubblica per pubblicare il runbook, quindi su quando richiesto.

    Pubblica
  2. Se ora si scorre verso sinistra per visualizzare il runbook nel pannello Runbook, come Stato di creazione viene visualizzato Pubblicato.
  3. Scorrere verso destra per visualizzare il pannello MyFirstRunbook-Workflow.
    Le opzioni nella parte superiore consentono di avviare il runbook, pianificarlo per avviarlo in qualsiasi momento in futuro o creare un webhook per poterlo avviare con una chiamata HTTP.
  4. Si vuole solo avviare il runbook, quindi fare clic su Avvia e poi su quando richiesto.

    Avvia runbook
  5. Viene aperto un riquadro del processo per il processo del runbook appena creato. È possibile chiudere questo riquadro, ma in questo caso lo si lascerà aperto per poter controllare l'avanzamento del processo.
  6. Lo stato del processo è visualizzato in Riepilogo processi e corrisponde agli stati osservati quando è stato testato il runbook.

    Riepilogo processi
  7. Quando lo stato del runbook risulta Completatofare clic su Output. Viene aperto il pannello Output dove si può vedere il testo Hello World.

    Riepilogo dei processi
  8. Chiudere il riquadro Output.
  9. Fare clic su Tutti i log per aprire il riquadro Flussi relativo al processo del runbook. Nel flusso di output dovrebbe essere visibile solo Hello World , ma potrebbero essere visualizzati altri flussi per un processo del runbook, ad esempio Verbose ed Error se il runbook scrive in questi flussi.

    Riepilogo dei processi
  10. Chiudere il riquadro dei flussi e il riquadro dei processi per tornare al riquadro MyFirstRunbook.
  11. Fare clic su Processi per aprire il pannello dei processi per questo runbook. Sono elencati tutti i processi creati da questo runbook. Dovrebbe essere elencato un solo processo, perché il processo è stato eseguito una sola volta.

    Processi
  12. È possibile fare clic su questo processo per aprire lo stesso riquadro del processo visualizzato quando è stato avviato il runbook. In questo modo è possibile tornare indietro nel tempo e visualizzare i dettagli di tutti i processi creati per un runbook particolare.

Passaggio 5: Aggiungere l'autenticazione per gestire le risorse di Azure

Il runbook è stato testato e pubblicato, ma finora non esegue alcuna attività utile. Si vuole fare in modo che gestisca le risorse di Azure. Sarà tuttavia in grado di eseguire questa operazione solo dopo aver fatto in modo che esegua l'autenticazione con le credenziali indicate nei prerequisiti. A questo scopo si userà il cmdlet Add-AzureRmAccount .

  1. Aprire l'editor di testo facendo clic su Modifica nel pannello MyFirstRunbook-Workflow.

    Modificare il runbook
  2. Non è più necessaria la riga Write-Output , quindi andare avanti ed eliminarla.
  3. Posizionare il cursore su una riga vuota tra parentesi graffe.
  4. Digitare o copiare e incollare il codice seguente che gestirà l'autenticazione con l'account RunAs di Automazione:

    $Conn = Get-AutomationConnection -Name AzureRunAsConnection
    Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID `
    -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
    
  5. Fare clic sul Pannello di test in modo da testare il runbook.
  6. Fare clic su Avvia per avviare il test. Al termine verrà visualizzato un output simile al seguente, con le informazioni di base sull'account. Questo conferma che la credenziale è valida.

    Autentica

Passaggio 6 - aggiungere il codice per avviare una macchina virtuale

Ora che il runbook esegue l'autenticazione per la sottoscrizione di Azure è possibile gestire le risorse. Si aggiunge un comando per avviare una macchina virtuale. È possibile selezionare una macchina virtuale qualsiasi nella sottoscrizione di Azure. Per ora il nome sarà hardcoded nel runbook.

  1. Dopo Add-AzureRmAccount digitare Start-AzureRmVM -Name 'VMName' -ResourceGroupName 'NameofResourceGroup' specificando il nome e il nome del gruppo di risorse della macchina virtuale da avviare.

    workflow MyFirstRunbook-Workflow
    {
    $Conn = Get-AutomationConnection -Name AzureRunAsConnection
    Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
    Start-AzureRmVM -Name 'VMName' -ResourceGroupName 'ResourceGroupName'
    }
    
  2. Salvare il runbook e poi fare clic su Pannello di Test in modo da poterne eseguire il test.
  3. Fare clic su Avvia per avviare il test. Dopo aver completato l'attività, controllare che la macchina virtuale sia stata avviata.

Passaggio 7: Aggiungere un parametro di input al runbook

Ora il runbook avvia la macchina virtuale specificata nel runbook, ma sarebbe più utile se si potesse specificare la macchina virtuale quando si avvia il runbook. Per fornire questa funzionalità, ora si aggiungeranno dei parametri di input al runbook.

  1. Aggiungere parametri per VMName e ResourceGroupName al runbook e usare queste variabili con il cmdlet Start-AzureRmVM come nell'esempio seguente.

    workflow MyFirstRunbook-Workflow
    {
     Param(
      [string]$VMName,
      [string]$ResourceGroupName
     )  
    $Conn = Get-AutomationConnection -Name AzureRunAsConnection
    Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
    Start-AzureRmVM -Name $VMName -ResourceGroupName $ResourceGroupName
    }
    
  2. Salvare il runbook e aprire il riquadro Test. Si noti che ora è possibile fornire i valori per le due variabili di input che verranno usate nel test.
  3. Chiudere il riquadro Test.
  4. Fare clic su Pubblica per pubblicare la nuova versione del runbook.
  5. Arrestare la macchina virtuale avviata nel passaggio precedente.
  6. Fare clic su Avvia per avviare il runbook. Digitare VMName e ResourceGroupName per la macchina virtuale da avviare.

    Start Runbook
  7. Quando il runbook viene completato, controllare che la macchina virtuale sia stata avviata.

Passaggi successivi