Esecuzione di uno script di Windows PowerShell - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione di uno script di Windows PowerShell

Importante

Il AWS OpsWorks Stacks il servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Squadra su AWS Re:post o tramite AWS Supporto Premium.

Nota

Questi esempi presuppongono che tu abbia già completato l'esempio Esecuzione di una ricetta su un'istanza Windows. In caso contrario, ti consigliamo di iniziare da questo esempio, che In particolare, descrive come abilitare RDP l'accesso alle istanze.

Un modo per fare in modo che una ricetta esegua attività su un'istanza di Windows, in particolare attività che non dispongono di una risorsa Chef corrispondente, consiste nell'eseguire alla ricetta uno script di Windows. PowerShell Questa sezione presenta le nozioni di base descrivendo come utilizzare uno script di Windows per installare una funzionalità di Windows. PowerShell

La powershell_scriptrisorsa esegue i PowerShell cmdlet di Windows su un'istanza. L'esempio seguente utilizza un WindowsFeature cmdlet Install- per installare un XPS visualizzatore sull'istanza.

Di seguito viene brevemente descritto come creare uno stack per questo esempio. Per ulteriori informazioni, consulta Creare un nuovo stack.

Creare uno stack
  1. Aprire AWS OpsWorksConsole Stacks e scegli Aggiungi stack. Specificare le impostazioni seguenti, accettare i valori predefiniti di altre impostazioni e fare clic su Add Stack (Aggiungi stack).

    • Nome: PowerShellTest

    • Regione: Stati Uniti occidentali (Oregon)

      Questo esempio funzionerà in qualsiasi regione, ma consigliamo di utilizzare Stati Uniti occidentali (Oregon) per i tutorial.

    • Sistema operativo predefinito: Microsoft Windows Server 2012 R2

  2. Scegliere Add a layer (Aggiungi un livello) e aggiungere un livello personalizzato allo stack con le impostazioni seguenti.

    • Nome — PowerShell

    • Nome breve: powershell

  3. Aggiungi un'istanza 24 ore su 24, 7 giorni su 7 con le impostazioni predefinite al PowerShell layer e avviala.

  4. Scegli Autorizzazioni, quindi Modifica, quindi seleziona SSH/RDPe sudo/admin. Per accedere all'istanza come utente standard, è necessario disporre di questa autorizzazione oltre al gruppo di sicurezza AWS-OpsWorks-RDP-Server.

Durante l'avvio dell'istanza, che in genere richiede diversi minuti, puoi creare il ricettario. La ricetta di questo esempio crea una directory dati ed è generalmente la ricetta di Esempio 3: creazione di directory, modificata per Windows.

Per configurare il libro di ricette
  1. Creare una directory denominata powershell e accedervi.

  2. Creare un file metadata.rb con il seguente contenuto e salvarlo in windowstest.

    name "powershell" version "0.1.0"
  3. Creare una directory recipes all'interno della directory powershell.

  4. Creare un file default.rb con la seguente ricetta e salvarlo nella directory recipes.

    Chef::Log.info("******Installing XPS.******") powershell_script "Install XPS Viewer" do code <<-EOH Install-WindowsFeature XPS-Viewer EOH guard_interpreter :powershell_script not_if "(Get-WindowsFeature -Name XPS-Viewer).installed" end
    • La powershell_script risorsa esegue un cmdlet per installare il visualizzatore. XPS

      In questo esempio viene eseguito un solo cmdlet, ma il blocco code può contenere qualsiasi numero di righe di comando.

    • L'guard_interpreterattributo indica a Chef di utilizzare la versione a 64 bit di Windows. PowerShell

    • L'attributo di protezione not_if fa sì che Chef non installi la funzione se è già stata installata.

  5. Creare un archivio .zip della directory powershell.

  6. Carica l'archivio in un bucket Amazon S3, rendilo pubblico e registra l'archivio. URL È possibile usare anche un archivio privato, tuttavia, per questo esempio, un archivio pubblico è sufficiente e molto più facile da utilizzare.

    I contenuti distribuiti ai bucket Amazon S3 potrebbero contenere informazioni dei clienti. Per ulteriori informazioni sulla rimozione di dati sensibili, vedi Come svuotare un bucket S3? o Come eliminare un bucket S3?.

Adesso puoi installare il libro di ricette ed eseguire la ricetta.

Per eseguire la ricetta
  1. Modificare lo stack per abilitare i libri di ricette personalizzati e specificare le impostazioni seguenti.

    • Tipo di repository: S3 Archive

    • Repository URL: l'archivio dei libri di cucina che hai registrato in precedenza URL

    Accettare i valori predefiniti per altre impostazioni e scegliere Save (Salva) per aggiornare la configurazione dello stack.

  2. Eseguire il comando dello stack Update Custom Cookbooks (Aggiorna libri di ricette personalizzati) per installare la versione corrente dei libri di ricette personalizzati nell'istanza.

  3. Al termine dell'operazione Update Custom Cookbooks (Aggiorna libri di ricette personalizzati), eseguire la ricetta tramite il comando dello stack Execute Recipes (Esegui ricette) con l'opzione Recipes to execute (Ricette da eseguire) impostata su powershell::default.

Nota

Questo esempio utilizza Execute Recipes per comodità, ma in genere hai AWS OpsWorks Gli stack eseguono automaticamente le tue ricette assegnandole all'evento del ciclo di vita appropriato. Puoi eseguire tali ricette attivando manualmente l'evento e Puoi utilizzare un comando dello stack per attivare gli eventi Setup e Configure e un comando di distribuzione per attivare gli eventi Deploy e Undeploy.

Dopo aver eseguito correttamente la ricetta, puoi verificarla.

Per verificare la ricetta powershell
  1. Esaminare il log di Chef. Fare clic su show (mostra) nella colonna Log (Registro) dell'istanza powershell1 per visualizzare il registro. Scorrere e visualizzare il messaggio di log verso il basso.

    ... [2015-04-27T18:12:09+00:00] INFO: Storing updated cookbooks/powershell/metadata.rb in the cache. [2015-04-27T18:12:09+00:00] INFO: ******Installing XPS.****** [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Install XPS Viewer] action run (powershell::default line 3) [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Guard resource] action run (dynamically defined) [2015-04-27T18:12:42+00:00] INFO: powershell_script[Install XPS Viewer] ran successfully ...
  2. RDPUtilizzatelo per accedere all'istanza e aprire il menu Start. XPSViewer deve essere elencato tra gli accessori di Windows.