

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
<a name="cookbooks-101-opsworks-opsworks-powershell"></a>

**Importante**  
Il AWS OpsWorks Stacks 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 Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questi esempi presuppongono che tu abbia già completato l'esempio [Esecuzione di una ricetta su un'istanza Windows](cookbooks-101-opsworks-opsworks-windows.md). In caso contrario, ti consigliamo di iniziare da questo esempio, che descrive in particolare come [abilitare l'accesso RDP](cookbooks-101-opsworks-opsworks-windows.md#cookbooks-101-opsworks-opsworks-windows-rdp) alle tue 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, è fare in modo che la ricetta esegua 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 [https://docs.chef.io/chef/resources.html#powershell-script](https://docs.chef.io/chef/resources.html#powershell-script)risorsa esegue i PowerShell cmdlet di Windows su un'istanza. L'esempio seguente utilizza un [WindowsFeature cmdlet Install-](https://technet.microsoft.com/en-us/library/hh849795.aspx) per installare un visualizzatore XPS sull'istanza. 

Di seguito viene brevemente descritto come creare uno stack per questo esempio. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Creare uno stack**

1. Aprire la [console OpsWorks Stacks](https://console.aws.amazon.com/opsworks/) e scegliere **Add Stack (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

1. Scegliere **Add a layer (Aggiungi un livello)** e [aggiungere un livello personalizzato](workinglayers-custom.md) allo stack con le impostazioni seguenti.
   + **Nome** — PowerShell
   + **Nome abbreviato**: powershell

1. [Aggiungi un'istanza 24 ore su 24, 7 giorni su 7](workinginstances-add.md) con le impostazioni predefinite al PowerShell layer e [avviala](workinginstances-starting.md).

1. Scegliere **Permissions (Autorizzazioni)**, poi **Edit (Modifica)** e selezionare **SSH/RDP**, quindi scegliere **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](cookbooks-101-basics-directories.md), modificata per Windows.

**Per configurare il libro di ricette**

1. Creare una directory denominata `powershell` e accedervi.

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

   ```
   name "powershell"
   version "0.1.0"
   ```

1. Creare una directory `recipes` all'interno della directory `powershell`.

1. 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 risorsa `powershell_script` 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_interpreter`attributo 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.

1. Creare un archivio `.zip` della directory `powershell`.

1. [Carica l'archivio in un bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html), [rendilo pubblico](https://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html) e registra l'URL dell'archivio. È 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?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) o [Come eliminare un bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html).

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](workingcookbook-installingcustom-enable.md) e specificare le impostazioni seguenti.
   + **Tipo di repository****: S3 Archive**
   + URL **del repository: l'URL** dell'archivio del libro di cucina che hai registrato in precedenza

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

1. [Eseguire il comando dello stack **Update Custom Cookbooks (Aggiorna libri di ricette personalizzati)**](workingstacks-commands.md) per installare la versione corrente dei libri di ricette personalizzati nell'istanza. 

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

**Nota**  
Questo esempio utilizza **Execute Recipes** per comodità, ma in genere OpsWorks Stacks [esegue le ricette automaticamente](workingcookbook-assigningcustom.md) 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](workingapps-deploying.md) 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](troubleshoot-debug-log.md). 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 
   ...
   ```

1. [Utilizzare RDP per accedere all'istanza](workinginstances-rdp.md) e aprire il menu **Start (Avvio)**. Il visualizzatore XPS deve essere elencato con **Windows Accessories (Accessori Windows)**.