Condividi tramite


Gestire runbook per Service Management Automation

In qualità di amministratore di Service Management Automation (SMA), è necessario configurare ed eseguire runbook. Attività che includono la configurazione dei ruoli di lavoro runbook e la pianificazione e il rilevamento dei runbook. Esistono due runbook di sistema inclusi in SMA oltre ai runbook creati:

  • DiscoverAllLocalModules: viene eseguito immediatamente dopo l'installazione di un ruolo di lavoro runbook. Questo runbook individua tutti i moduli nativi nel sistema Windows Server in cui è installato il ruolo di lavoro runbook. Estrae le attività e i metadati delle attività per questi moduli in modo che le attività possano essere usate quando si creano runbook in Microsoft Azure Pack.
  • SetAutomationModuleActivityMetadata: viene eseguito immediatamente dopo l'importazione di un modulo in SMA. Questo runbook estrae attività e metadati di attività da un modulo appena importato in modo che le relative attività possano essere usate quando si creano runbook in Microsoft Azure Pack.

Configurare i ruoli di lavoro per runbook

Per impostazione predefinita, quando si avvia un processo del runbook in SMA, viene selezionato da un runbook worker casuale. Tuttavia, potrebbe essere necessario usare un ruolo di lavoro specifico per runbook. A tale scopo, utilizzare la proprietà RunbookWorker . Altre informazioni sull'esecuzione dei runbook.

Designare un ruolo di lavoro per runbook con il componente aggiuntivo PowerShell ISE.

  1. Nella configurazione del componente >aggiuntivo SMA ISE accedere con l'account SMA. Dopo l'accesso, è possibile visualizzare i runbook nella scheda Runbook .
  2. Nella scheda Runbook selezionare uno o più runbook da eseguire su un determinato ruolo di lavoro runbook.
  3. Selezionare Configure (Configura) e in Configure Runbook properties (Configura proprietà runbook) selezionare un ruolo di lavoro runbook dal menu a discesa.
  4. Selezionare Apporta modifiche.

Designare un ruolo di lavoro per runbook tramite il modulo di PowerShell SMA

È anche possibile impostare la proprietà del ruolo di lavoro runbook usando il comando della riga di comando seguente:

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
$workerName = "Worker1"

Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -RunbookWorker $workerName

È possibile visualizzare un elenco di tutti i ruoli di lavoro per runbook distribuiti come segue:

$webServer = 'https://MyServer'
$port = 9090

Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port

Nota

Non è attualmente possibile usare il portale di Microsoft Azure Pack per designare un ruolo di lavoro per runbook. Usare il componente aggiuntivo SMA ISE o i cmdlet di PowerShell.

Pianificare runbook

Per pianificare l'avvio di un runbook in un'ora specificata, collegarlo a una o più pianificazioni. Una pianificazione può essere configurata per l'esecuzione una sola volta o impostata su ricorsiva. Un runbook può essere collegato a più pianificazioni e a una pianificazione possono essere collegati più runbook.

Creare una programmazione

È possibile creare una pianificazione con il portale di gestione o con Windows PowerShell.

Creare una pianificazione nel portale di gestione

  1. Nel portale di gestione selezionare Automazione.
  2. Nella scheda Asset selezionare Aggiungi impostazione>Aggiungi pianificazione.
  3. Immettere un nome e una descrizione per la nuova pianificazione e selezionare se verrà eseguito una sola volta o ogni giorno.
  4. Specificare un'ora di inizio e le altre opzioni in base alle esigenze. Il fuso orario dell'ora di inizio corrisponderà al fuso orario del computer locale.

Creare una pianificazione con Windows PowerShell

È possibile usare il cmdlet Set-SmaSchedule per creare una pianificazione o per modificare una pianificazione esistente. È necessario specificare l'ora di inizio per la pianificazione e se deve essere eseguita una volta o più volte.

L'esempio seguente crea una nuova pianificazione denominata Pianificazione giornaliera. Inizia il giorno corrente e continua per un anno ogni giorno a mezzogiorno.

$webServer = 'https://MyServer'
$port = 9090
$scheduleName = 'My Daily Schedule'
$startTime = (Get-Date).Date.AddHours(12)
$expiryTime = $startTime.AddYears(1)

Set-SmaSchedule -WebServiceEndpoint $webServer -Port $port -Name $scheduleName -ScheduleType OneTimeSchedule -StartTime $startTime -ExpiryTime $expiryTime -DayInterval 1

Un runbook può essere collegato a più pianificazioni e a una pianificazione possono essere collegati più runbook. Se un runbook ha parametri, è possibile specificare i valori che devono essere usati all'avvio del runbook. È necessario fornire i valori per eventuali parametri obbligatori.

  1. Nel portale di gestione selezionare Runbook di automazione>.
  2. Selezionare il nome del runbook da pianificare e selezionare la scheda Pianificazione .
  3. Se il runbook è attualmente collegato a una pianificazione, selezionare Collega. Selezionare quindi Collega a una nuova pianificazione e crearne una nuova oppure selezionare Collega a una pianificazione esistente e selezionare una pianificazione.
  4. Se il runbook include parametri, verrà chiesto di inserire i relativi valori.

Per collegare una pianificazione a un runbook, è possibile usare Start-SmaRunbook con il parametro ScheduleName . È possibile specificare valori con il parametro Parameters . Altre informazioni sui valori dei parametri.

I comandi di esempio seguenti illustrano come collegare una pianificazione a un runbook.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"

Start-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -ScheduleName $scheduleName -Parameters $params

Tenere traccia dei runbook

Quando si avvia un runbook in SMA, viene creato un processo. Un processo è una singola istanza di esecuzione di un runbook. Un singolo runbook può avere più processi, ognuno con un proprio set di valori per i parametri del runbook.

  • Se la proprietà RunbookWorker del runbook viene popolata, il server di lavoro funzionerà il processo.
  • Se il server di lavoro non è disponibile, il processo avrà esito negativo con un errore.
  • Se la proprietà RunbookWorker non è popolata, SMA selezionerà in modo casuale un server di lavoro disponibile per gestire la richiesta.

Il diagramma seguente illustra il ciclo di vita di un processo del runbook per i runbook del flusso di lavoro PowerShell.

Diagramma che mostra il flusso di lavoro di PowerShell.

Il diagramma seguente illustra il ciclo di vita di un processo del runbook per i runbook di script di PowerShell.

Diagramma che mostra lo script di PowerShell.

Stato processo

La tabella seguente descrive i diversi stati possibili per un processo.

Stato Descrizione
Completato Il processo è stato completato.
Non riuscito Il processo è stato terminato con un'eccezione.
In coda Il processo è in attesa che diventino disponibili risorse in un computer di lavoro di Automazione per poter essere avviato.
Starting Il processo è stato assegnato a un computer di lavoro e il sistema lo sta avviando.
Ripresa in corso Il sistema sta per riprendere il processo dopo che è stato sospeso.
In esecuzione Il processo è in esecuzione.
Arrestato Il processo è stato arrestato dall'utente prima del completamento.
Arresto in corso Il sistema sta arrestando il processo.
Sospeso Il processo è stato sospeso dall'utente, dal sistema o da un comando del runbook. Un processo sospeso può essere nuovamente avviato. Riprende dall'ultimo checkpoint o dall'inizio del runbook se non dispone di checkpoint.

Il runbook viene sospeso solo dal sistema nel caso di un'eccezione che ha la possibilità di riprendere. Per impostazione predefinita, ErrorActionPreference è impostato su Continua, ovvero il processo continua a essere in esecuzione quando si verifica un'eccezione. Se questa variabile è impostata su Arresta, il processo viene sospeso quando si verifica un'eccezione.
Suspending Il sistema tenta di sospendere il processo alla richiesta dell'utente. Il runbook deve raggiungere il checkpoint successivo prima di poter essere sospeso. Se ha già superato l'ultimo checkpoint, viene completato prima che possa essere sospeso.

Visualizzare lo stato del processo nel portale di gestione

Il dashboard di automazione mostra un riepilogo di tutti i runbook nell'ambiente SMA.

  • Il grafico riepilogativo mostra il numero di processi totali per tutti i runbook che hanno attraversato ogni stato in un numero specificato di ore o giorni.
  • È possibile selezionare l'intervallo di tempo nell'angolo superiore destro del grafico.
  • L'asse temporale del grafico cambia in base al tipo di intervallo di tempo selezionato.
  • È possibile scegliere se visualizzare la riga per uno stato specifico facendo clic su di essa nella parte superiore della schermata.

Visualizzare il dashboard come segue:

  1. Nel portale di gestione selezionare Automazione.
  2. Selezionare la scheda Dashboard .

Visualizzare il dashboard

Il dashboard del runbook mostra un riepilogo per un singolo runbook. Il grafico riepilogativo mostra il numero di processi totali per il runbook che ha attraversato ogni stato in un numero specificato di ore o giorni. È possibile selezionare l'intervallo di tempo nell'angolo superiore destro del grafico. L'asse temporale del grafico cambia in base al tipo di intervallo di tempo selezionato. È possibile scegliere se visualizzare la riga per uno stato specifico facendo clic su di essa nella parte superiore della schermata.

Visualizzare il dashboard come segue:

  1. Nel portale di gestione selezionare Automazione.
  2. Selezionare il nome di un runbook.
  3. Selezionare la scheda Dashboard .

Visualizza i dettagli dei processi

È possibile visualizzare un elenco di tutti i processi creati per un determinato runbook e il relativo stato più recente.

  • È possibile filtrare l'elenco in base allo stato del processo e all'intervallo di date per l'ultima modifica al processo.
  • Selezionare il nome di un processo per visualizzare le informazioni dettagliate e il relativo output.
  • La visualizzazione dettagliata del processo include i valori per i parametri del runbook che sono stati forniti al processo.
  • La cronologia del processo include l'output, gli avvisi e i messaggi di errore con timestamp relativi al momento in cui è stato creato il record.
  • Altre informazioni sull'output e i messaggi del runbook.
  • L'origine di un processo è il codice sorgente del flusso di lavoro durante l'esecuzione del processo. È possibile che non corrisponda alla versione corrente del runbook, in caso di aggiornamento dopo l'esecuzione del processo.

Per visualizzare i processi per un runbook, seguire questa procedura.

  1. Nel portale di gestione selezionare Automazione.
  2. Selezionare il nome di un runbook e selezionare la scheda Processi .
  3. Selezionare la colonna Processo creato per un processo per visualizzarne i dettagli e l'output.
  4. Selezionare la scheda Cronologia per visualizzare la cronologia del processo. Selezionare un record di cronologia e selezionare Visualizza dettagli nella parte inferiore della schermata per una visualizzazione dettagliata del record.
  5. Nella scheda Cronologia selezionare Visualizza origine.

Recuperare lo stato del processo con Windows PowerShell

È possibile usare Get-SmaJob per recuperare i processi creati per un runbook e i dettagli di un processo specifico.

  • Se si avvia un runbook con Windows PowerShell usando Start-SmaRunbook, restituisce il processo risultante.
  • Usare Get-SmaJobOutput per ottenere l'output di un processo.

Il comando di esempio seguente recupera l'ultimo processo per un runbook di esempio e ne visualizza lo stato, i valori specificati per i parametri del runbook e l'output del processo.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"

$job = (Get-SmaJob -WebServiceEndpoint $webServer -Port $port -RunbookName $runbookName | sort LastModifiedDate -desc)[0]
$job.Status
$job.JobParameters
Get-SmaJobOutput -WebServiceEndpoint $webServer -Port $port -Id $job.Id -Stream Output

Configurare le impostazioni del runbook

Ogni runbook ha più impostazioni. È possibile usare queste impostazioni per individuare e gestire i runbook. È anche possibile modificare la registrazione dei runbook configurando queste impostazioni. Ognuna di queste impostazioni è descritta di seguito, seguita dalle procedure su come modificarle.

Nome e descrizione

Non è possibile modificare il nome di un runbook dopo la creazione. La Descrizione è facoltativa e può contenere fino a 512 caratteri.

Tag

I tag consentono di assegnare parole e frasi distinte per facilitare l'identificazione di un runbook. È possibile specificare più tag per un runbook separandole con le virgole.

Registrazione

Per impostazione predefinita, i record Verbose e Progress non vengono scritti nella cronologia dei processi. È possibile modificare le impostazioni per un determinato runbook per registrare questi record. Per altre informazioni su tali record, vedere Messaggi e output del runbook.

Ruolo di lavoro per runbook designato

Per impostazione predefinita, un processo del runbook deve essere assegnato a un ruolo di lavoro runbook casuale da eseguire. È possibile modificare le impostazioni per un runbook specifico per eseguire il runbook in un determinato ruolo di lavoro runbook.

Modificare le impostazioni del runbook nel portale di gestione

È possibile modificare le impostazioni per un runbook nel portale di gestione dalla pagina Configura per il runbook.

  1. Nel portale di gestione selezionare Automazione.

  2. Fare clic sulla scheda Runbook .

  3. Selezionare il nome di un runbook.

  4. Selezionare la scheda Configura .

Modificare le impostazioni del runbook con PowerShell

È possibile usare il cmdlet Set-SmaRunbookConfiguration per modificare tutte le impostazioni di un runbook, ad eccezione dei tag. È possibile modificare e aggiungere tag solo per i runbook esistenti usando il portale di gestione. È possibile impostare tag solo per i runbook con PowerShell quando si importa un runbook usando Import-SmaRunbook.

I comandi di esempio seguenti illustrano come impostare le proprietà di un runbook. Questo esempio aggiunge una descrizione e specifica che i record dettagliati devono essere registrati:

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"

Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Description "Sample runbook" -LogVerbose $true

Crittografare il ruolo di lavoro runbook e la connessione a SQL Server

Proteggere la connessione tra i processi di lavoro runbook e SQL Server usando SSL.

Passaggi successivi