

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à.

# Definizioni delle attività per le attività di EC2 avvio di Launch v2
<a name="ec2launch-v2-task-definitions"></a>

Ogni attività eseguita da EC2 Launch v2 durante l'avvio o l'avvio ha il proprio set di proprietà e requisiti. I dettagli delle attività includono le impostazioni per l'esecuzione di un'attività (sempre o una sola volta), a quale fase del processo di avvio dell'agente viene eseguito, la sintassi ed esempi di documento YAML. Per ulteriori informazioni, consulta i dettagli delle attività illustrati in questo riferimento.

**Topics**
+ [activateWindows](#ec2launch-v2-activatewindows)
+ [enableJumboFrames](#ec2launch-v2-enablejumboframes)
+ [enableOpenSsh](#ec2launch-v2-enableopenssh)
+ [executeProgram](#ec2launch-v2-executeprogram)
+ [executeScript](#ec2launch-v2-executescript)
+ [extendRootPartition](#ec2launch-v2-extendrootpartition)
+ [initializeVolume](#ec2launch-v2-initializevolume)
+ [optimizeEna](#ec2launch-v2-optimizeena)
+ [setAdminAccount](#ec2launch-v2-setadminaccount)
+ [setDnsSuffix](#ec2launch-v2-setdnssuffix)
+ [setHostName](#ec2launch-v2-sethostname)
+ [setWallpaper](#ec2launch-v2-setwallpaper)
+ [startSsm](#ec2launch-v2-startssm)
+ [sysprep](#ec2launch-v2-task-sysprep)
+ [writeFile](#ec2-launch-v2-writefile)

## activateWindows
<a name="ec2launch-v2-activatewindows"></a>

Attiva Windows su un set di server. AWS KMS L'attivazione viene ignorata se l'istanza viene rilevata come Bring-Your-Own-License (BYOL).

*Frequency* - una volta

*AllowedStages* — `[PreReady]`

*Inputs* — 

`activation`: (mappa)

`type`: (stringa) tipo di attivazione da utilizzare, impostato su `amazon`

*Esempio*

```
task: activateWindows
  inputs:
    activation:
    type: amazon
```

## enableJumboFrames
<a name="ec2launch-v2-enablejumboframes"></a>

Abilita i frame jumbo che aumentano l'unità di trasmissione massima (MTU) della scheda di rete. Per ulteriori informazioni, consulta [Frame jumbo (9001 MTU)](network_mtu.md#jumbo_frame_instances).

*Frequency* - sempre

*AllowedStages* — `[PostReady, UserData]`

*Inputs* - nessuno

*Esempio*

```
task: enableJumboFrames
```

## enableOpenSsh
<a name="ec2launch-v2-enableopenssh"></a>

Abilita Windows OpenSSH e aggiunge la chiave pubblica per l'istanza alla cartella delle chiavi autorizzate.

*Frequency* - una volta

*AllowedStages* — `[PreReady, UserData]`

*Inputs* - nessuno

*Esempio*

Nell'esempio seguente viene illustrato come abilitare OpenSSH su un'istanza e come aggiungere la chiave pubblica per l'istanza alla cartella delle chiavi autorizzate. Questa configurazione funziona solo su istanze che eseguono Windows Server 2019 e versioni successive.

```
task: enableOpenSsh
```

## executeProgram
<a name="ec2launch-v2-executeprogram"></a>

Esegue uno script con argomenti opzionali e una frequenza specificata.

**Fasi:** è possibile eseguire l'attività `executeProgram` durante le fasi`PreReady`, `PostReady` e `UserData`.

**Frequenza:** configurabile, vedere *Input*.

**Input**  
Questa sezione contiene uno o più programmi per l'esecuzione dell'attività **executeProgram** (input). Ogni input può includere le seguenti impostazioni configurabili:    
**frequenza (stringa)**  
(Obbligatorio) Specifica esattamente uno dei seguenti valori:  
+ `once`
+ `always`  
**path (stringa)**  
(Obbligatorio) Il percorso del file per l'eseguibile da eseguire.  
**argomenti (elenco di stringhe)**  
(Facoltativo) Un elenco di argomenti separati da virgole da fornire al programma come input.  
**runAs (stringa)**  
(Obbligatorio) Deve essere impostato su `localSystem`

**Output**  
Tutte le attività scrivono le voci del file di registro nel file `agent.log`. L'output aggiuntivo dell'attività `executeProgram` viene archiviato separatamente in una cartella denominata dinamicamente, come segue:  
`%LocalAppData%\Temp\EC2Launch#########\outputfilename.tmp`  
Il percorso esatto dei file di output è incluso nel file `agent.log`, ad esempio:  

```
Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\ExecuteProgramInputs.tmp
Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp
Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
```
**File di output per l'attività `executeProgram`**    
`ExecuteProgramInputs.tmp`  
Contiene il percorso dell'eseguibile e tutti i parametri di input che l'attività `executeProgram` passa durante l'esecuzione.  
`Output.tmp`  
Contiene l'output di runtime del programma eseguito dall'attività `executeProgram`.  
`Err.tmp`  
Contiene messaggi di errore di runtime provenienti dal programma eseguito dall'attività `executeProgram`.

**Esempi**  
Gli esempi seguenti mostrano come eseguire un file eseguibile da una directory locale su un'istanza con l'attività `executeProgram`.  
**Esempio 1: Configurazione dell'eseguibile con un argomento**  
Questo esempio mostra un'attività `executeProgram` che esegue un eseguibile di installazione in modalità silenziosa.

```
task: executeProgram
  inputs:
    - frequency: always
      path: C:\Users\Administrator\Desktop\setup.exe
      arguments: ['-quiet']
```
**Esempio 2: eseguibile VLC con due argomenti**  
Questo esempio mostra un'attività `executeProgram` che esegue un file eseguibile VLC con due argomenti passati come parametri di input.

```
task: executeProgram
  inputs:
    - frequency: always
      path: C:\vlc-3.0.11-win64.exe 
      arguments: ['/L=1033','/S']
      runAs: localSystem
```

## executeScript
<a name="ec2launch-v2-executescript"></a>

Esegue uno script con argomenti opzionali e una frequenza specificata. Il comportamento degli script dipende dalla modalità in cui l'agente esegue gli script: in linea o distaccati.

In linea (impostazione predefinita)  
L'agente EC2 Launch v2 esegue gli script uno alla volta (). `detach: false` Questa è l'impostazione predefinita.  
Quando lo script in linea emette un comando **reset** o **sysprep**, viene eseguito immediatamente e reimposta l'agente. L'attività corrente termina, quindi l'agente si spegne senza eseguire altre attività.  
Ad esempio, se l'attività che emette il comando fosse stata seguita da un'attività `startSsm` (inclusa per impostazione predefinita dopo l'esecuzione dei dati utente), l'attività non viene eseguita e il servizio Systems Manager non viene mai avviato.

Distaccato  
L'agente EC2 Launch v2 esegue gli script contemporaneamente ad altre attività (). `detach: true`  
Quando lo script distaccato emette un comando **reset** o **sysprep**, tali comandi attendono che l'agente finisca prima di procedere all'esecuzione. Le attività successive all'ExecuteScript continueranno a essere eseguite.

**Fasi:** è possibile eseguire l'attività `executeScript` durante le fasi`PreReady`, `PostReady` e `UserData`.

**Frequenza:** configurabile, vedere *Input*.

**Input**  
Questa sezione contiene uno o più script per l'esecuzione dell'attività **executeScript** (input). Ogni input può includere le seguenti impostazioni configurabili:    
**frequenza (stringa)**  
(Obbligatorio) Specifica esattamente uno dei seguenti valori:  
+ `once`
+ `always`  
**Tipo: stringa**  
(Obbligatorio) Specifica esattamente uno dei seguenti valori:  
+ `batch`
+ `powershell`  
**argomenti (elenco di stringhe)**  
(Facoltativo) Un elenco di argomenti di stringa da passare alla shell (non allo PowerShell script). Questo parametro non è supportato per le attività eseguite su `type: batch`. Se non viene passato alcun argomento, EC2 Launch v2 aggiunge il seguente argomento per impostazione predefinita:`-ExecutionPolicy Unrestricted`.  
**contenuto (stringa)**  
(Obbligatorio) Contenuto dello script.  
**runAs (stringa)**  
(Obbligatorio) Specificare esattamente uno dei seguenti valori:  
+ `admin`
+ `localSystem`  
**staccare (booleano)**  
(Facoltativo) Per impostazione predefinita, l'agente EC2 Launch v2 esegue gli script uno alla volta (). `detach: false` Per eseguire lo script in concomitanza con altre attività, impostate il valore su`true` (`detach: true`).  
I codici di uscita dello script (tra cui `3010`) non hanno effetto quando `detach` è impostato su `true`.

**Output**  
Tutte le attività scrivono le voci del file di registro nel file `agent.log`. L'output aggiuntivo dello script eseguito dall'attività `executeScript` viene archiviato separatamente in una cartella denominata dinamicamente, come segue:  
`%LocalAppData%\Temp\EC2Launch#########\outputfilename.ext`  
Il percorso esatto dei file di output è incluso nel file `agent.log`, ad esempio:  

```
Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\UserScript.ps1
Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp
Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
```
**File di output per l'attività `executeScript`**    
`UserScript.ext`  
Contiene lo script eseguito dall'attività `executeScript`. L'estensione del file dipende dal tipo di script specificato nel parametro `type` per l'attività `executeScript`, come segue:  
+ Se il tipo è`batch`, l'estensione del file è `.bat`.
+ Se il tipo è`powershell`, l'estensione del file è `.ps1`.  
`Output.tmp`  
Contiene l'output di runtime dello script eseguito dall'attività `executeScript`.  
`Err.tmp`  
Contiene messaggi di errore di runtime provenienti dallo script eseguito dall'attività `executeScript`.

**Esempi**  
Gli esempi seguenti mostrano come eseguire uno script in linea con l'attività `executeScript`.  
**Esempio 1: file di testo di output Ciao**  
Questo esempio mostra un'`executeScript`attività che esegue PowerShell uno script per creare un file di testo «Hello world» sull'unità. `C:`

```
task: executeScript
  inputs:
    - frequency: always
      type: powershell
      runAs: admin
      content: |-
        New-Item -Path 'C:\PowerShellTest.txt' -ItemType File
        Set-Content 'C:\PowerShellTest.txt' "Hello world"
```
**Esempio 2: eseguire due script**  
Questo esempio mostra che l'attività `executeScript` può eseguire più di uno script e il tipo di script non deve necessariamente corrispondere.
Il primo script (`type: powershell`) scrive un riepilogo dei processi attualmente in esecuzione sull'istanza in un file di testo che si trova sull'unità `C:`.  
Il secondo script (`batch`) scrive le informazioni di sistema nel file `Output.tmp`.  

```
task: executeScript
  inputs:
    - frequency: always
      type: powershell
      runAs: localSystem
      content: |
        Get-Process | Out-File -FilePath C:\Process.txt
    - frequency: always
      type: batch
      runAs: localSystem
      content: |
        systeminfo
```
**Esempio 3: configurazione di sistema idempotente con riavvii**  
Questo esempio mostra un'attività `executeScript` che esegue uno script idempotente per eseguire la seguente configurazione di sistema con un riavvio tra ogni fase:
+ Impostare il nome del computer.
+ Aggiungere il computer al dominio
+ Abilitare Telnet.
Lo script garantisce che ogni operazione venga eseguita una sola volta. Ciò impedisce un ciclo di riavvio e rende lo script idempotente.  

```
task: executeScript
  inputs:
    - frequency: always
      type: powershell
      runAs: localSystem
      content: |-
        $name = $env:ComputerName
        if ($name -ne $desiredName) {
          Rename-Computer -NewName $desiredName
          exit 3010
        }
        $domain = Get-ADDomain
        if ($domain -ne $desiredDomain) 
        {
          Add-Computer -DomainName $desiredDomain
          exit 3010
        }
        $telnet = Get-WindowsFeature -Name Telnet-Client
        if (-not $telnet.Installed)
        {
          Install-WindowsFeature -Name "Telnet-Client"
          exit 3010 
        }
```

## extendRootPartition
<a name="ec2launch-v2-extendrootpartition"></a>

Estende il volume root per utilizzare tutto lo spazio disponibile sul disco.

*Frequency* - una volta

*AllowedStages* — `[Boot]`

*Inputs* - nessuno

*Esempio* 

```
task: extendRootPartition
```

## initializeVolume
<a name="ec2launch-v2-initializevolume"></a>

Inizializza i volumi vuoti che sono collegati all'istanza in modo che vengano attivati e partizionati. L'agente di avvio salta l'inizializzazione se rileva che il volume non è vuoto. Un volume è considerato vuoto se i primi 4 KiB del volume sono vuoti o se non dispone di un [layout di unità riconoscibile da Windows](https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ns-winioctl-drive_layout_information_ex).

Il parametro di input `letter` viene sempre applicato quando viene eseguita questa attività, indipendentemente dal fatto che l'unità sia già inizializzata.

L'attività `initializeVolume` effettua le seguenti operazioni.
+ Imposta gli attributi del disco `offline` e `readonly` su false.
+ Creare una partizione. Se non è specificato alcun tipo di partizione nel parametro di input `partition`, si applicano le seguenti impostazioni predefinite:
  + Se la dimensione del disco è inferiore a 2 TB, imposta il tipo di partizione su `mbr`.
  + Se la dimensione del disco è pari o superiore a 2 TB, imposta il tipo di partizione su .`gpt`.
+ Formatta il volume come NTFS.
+ Imposta l'etichetta del volume, come indicato di seguito:
  + Utilizza il valore del parametro di input `name`, se specificato.
  + Se il volume è temporaneo e non è stato specificato alcun nome, imposta l'etichetta del volume su `Temporary Storage Z`.
+ Se il volume è temporaneo (SSD o HDD, non Amazon EBS), crea un file `Important.txt` nel root del volume con il seguente contenuto:

  ```
  This is an 'Instance Store' disk and is provided at no additional charge.
  
  *This disk offers increased performance since it is local to the host
  *The number of Instance Store disks available to an instance vary by instance type
  *DATA ON THIS DRIVE WILL BE LOST IN CASES OF IMPAIRMENT OR STOPPING THE INSTANCE. PLEASE ENSURE THAT ANY IMPORTANT DATA IS BACKED UP FREQUENTLY
  
  For more information, please refer to: Archivio dell'istanza archiviazione a blocchi temporanea per le istanze EC2.
  ```
+ Imposta la lettera dell'unità sul valore specificato nel parametro di input `letter`.

**Fasi:** è possibile eseguire l'attività `initializeVolume` durante le fasi `PostReady` e `UserData`.

**Frequenza:** sempre.

**Input**  
È possibile configurare i parametri di runtime come segue:    
**dispositivi (elenco di mappe)**  
(Condizionale) Configurazione per ogni dispositivo inizializzato dall'agente di avvio. Questo parametro è obbligatorio quando il parametro di input `initialize` è impostato su `devices`.  
+ **dispositivo (stringa, obbligatorio)**: identifica il dispositivo durante la creazione dell'istanza. Ad esempio, `xvdb`, `xvdf` o `\dev\nvme0n1`.
+ **lettera (stringa, facoltativo)**: un carattere. La lettera dell'unità da assegnare.
+ **nome (stringa, facoltativo)**: il nome del volume da assegnare.
+ **partizione (stringa, facoltativo)**: specifica uno dei seguenti valori per il tipo di partizione da creare o consenti all'agente di avvio di utilizzare le impostazioni predefinite in base alla dimensione del volume:
  + mbr
  + gpt  
**inizializza (stringa)**  
(Obbligatorio) Specificare esattamente uno dei seguenti valori:  
+ `all`
+ `devices`

**Esempi**  
Gli esempi seguenti mostrano esempi di configurazioni di input per l'attività `initializeVolume`.  
**Esempio 1: inizializzazione di due volumi su un'istanza**  
Questo esempio mostra un'attività `initializeVolume` che inizializza due volumi secondari su un'istanza. Il dispositivo denominato `DataVolume2` nell'esempio è effimero.

```
task: initializeVolume
inputs:
  initialize: devices
  devices:
  - device: xvdb
    name: DataVolume1
    letter: D
    partition: mbr
  - device: /dev/nvme0n1
    name: DataVolume2
    letter: E
    partition: gpt
```

**Esempio 2: inizializzazione dei volumi EBS collegati a un'istanza**  
Questo esempio mostra un'attività `initializeVolume` che inizializza tutti i volumi EBS vuoti collegati all'istanza.

```
task: initializeVolume
inputs:
  initialize: all
```

## optimizeEna
<a name="ec2launch-v2-optimizeena"></a>

Ottimizza le impostazioni ENA in base al tipo di istanza corrente; l'istanza potrebbe essere riavviata.

*Frequency* - sempre

*AllowedStages* — `[PostReady, UserData]`

*Inputs* - nessuno

*Esempio* 

```
task: optimizeEna
```

## setAdminAccount
<a name="ec2launch-v2-setadminaccount"></a>

Imposta gli attributi per l'account amministratore predefinito creato nel computer locale.

*Frequency* - una volta

*AllowedStages* — `[PreReady]`

*Inputs* — 

`name`: (stringa) nome dell'account amministratore

`password`: (mappa)

`type`: (stringa) strategia per impostare la password come `static`, `random` o `doNothing`

`data`: (stringa) archivia i dati se il campo `type` è statico

*Esempio*

```
task: setAdminAccount
inputs:
  name: Administrator
  password:
  type: random
```

## setDnsSuffix
<a name="ec2launch-v2-setdnssuffix"></a>

Aggiunge suffissi DNS all'elenco dei suffissi di ricerca. All'elenco vengono aggiunti solo i suffissi che non esistono già. Per ulteriori informazioni sul modo in cui gli agenti di lancio impostano i suffissi DNS, consultare [Configura il suffisso DNS per EC2 gli agenti di avvio di Windows](launch-agents-set-dns.md).

*Frequency* - sempre

*AllowedStages* — `[PreReady]`

*Inputs* — 

`suffixes`: (elenco di stringhe) elenco di uno o più suffissi DNS validi, le variabili di sostituzione valide sono `$REGION` e `$AZ`

*Esempio*

```
task: setDnsSuffix
inputs:
  suffixes:
  - $REGION.ec2-utilities.amazonaws.com
```

## setHostName
<a name="ec2launch-v2-sethostname"></a>

Imposta il nome host del computer su una stringa personalizzata o, se non `hostName` è specificato, sull' IPv4 indirizzo privato.

*Frequency* - sempre

*AllowedStages* — `[PostReady, UserData]`

*Inputs* — 

`hostName`: (stringa) nome host facoltativo, che deve essere formattato come segue.
+ Deve essere uguale o inferiore a 15 caratteri
+ Deve contenere solo caratteri alfanumerici (a-z, A-Z, 0-9) e trattino (-).
+ Non deve essere costituito interamente da caratteri numerici.

`reboot`: (booleano) indica se è consentito un riavvio quando viene modificato il nome host

*Esempio*

```
task: setHostName
inputs:
  reboot: true
```

## setWallpaper
<a name="ec2launch-v2-setwallpaper"></a>

Crea il file di scorciatoia `setwallpaper.lnk` nella cartella di startup di ciascun utente esistente, eccetto `Default User`. Questo file di scorciatoia viene eseguito quando l'utente accede per la prima volta dopo l'avvio dell'istanza. Imposta l'istanza con uno sfondo personalizzato che visualizzi gli attributi dell'istanza.

Il percorso del file di scorciatoia è:

```
$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
```

**Nota**  
La rimozione dell'attività `setWallpaper` non elimina questo file di scorciatoia. Per ulteriori informazioni, consulta [Il processo `setWallpaper` non è abilitato ma lo sfondo viene ripristinato al riavvio](ec2launchv2-troubleshooting.md#ec2launchv2-troubleshooting-wallpaper-resets).

**Fasi:** puoi configurare lo sfondo durante le fasi `PreReady` e `UserData`.

**Frequenza:** `always`

**Configurazione dello sfondo**  
È possibile configurare lo sfondo con le seguenti impostazioni.

**Input**  
Parametri di input che fornisci e attributi che puoi impostare per configurare lo sfondo:    
**path (stringa)**  
(Obbligatorio) Il percorso del nome del file immagine in formato.jpg locale da utilizzare per l'immagine di sfondo.  
**attributi (elenco di stringhe)**  
(Facoltativo) Puoi aggiungere uno o più dei seguenti attributi allo sfondo:  
+ `architecture`
+ `availabilityZone`
+ `hostName`
+ `instanceId`
+ `instanceSize`
+ `privateIpAddress`
+ `publicIpAddress`
+ `ipv6Address`  
**instanceTags**  
(Facoltativo) Per questa impostazione puoi utilizzare esattamente una delle seguenti opzioni.  
+ **AllTags**(stringa) — Aggiunge tutti i tag di istanza allo sfondo.

  ```
  instanceTags: AllTags
  ```
+ **instanceTags** (elenco di stringhe): specifica un elenco di nomi di tag delle istanze da aggiungere allo sfondo. Esempio:

  ```
  instanceTags:
    - Tag 1
    - Tag 2
  ```

**Esempio**  
L'esempio seguente mostra gli input di configurazione dello sfondo che impostano il percorso del file per l'immagine di sfondo dello sfondo, insieme ai tag delle istanze denominati `Tag 1` e `Tag 2` e agli attributi che includono il nome dell'host, l'ID dell'istanza e gli indirizzi IP privati e pubblici dell'istanza.

```
task: setWallpaper
inputs:
  path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg
  attributes:
  - hostName
  - instanceId
  - privateIpAddress
  - publicIpAddress
  instanceTags:
  - Tag 1
  - Tag 2
```

**Nota**  
È necessario abilitare i tag nei metadati per mostrare i tag sullo sfondo. Per ulteriori informazioni sui tag e metadati delle istanze, consulta [Visualizza i tag per le istanze EC2 utilizzando i metadati dell'istanza](work-with-tags-in-IMDS.md).

## startSsm
<a name="ec2launch-v2-startssm"></a>

Avvia il servizio Systems Manager (SSM) dopo Sysprep.

*Frequency* - sempre

*AllowedStages* — `[PostReady, UserData]`

*Inputs* - nessuno

*Esempio*

```
task: startSsm
```

## sysprep
<a name="ec2launch-v2-task-sysprep"></a>

Reimposta lo stato del servizio, aggiorna `unattend.xml`, disabilita RDP ed esegue Sysprep. Questa attività viene eseguita solo dopo che tutte le altre attività sono state completate.

*Frequency* - una volta

*AllowedStages* — `[UserData]`

*Inputs* — 

`clean`: (booleano) pulisce i log delle istanze prima di eseguire Sysprep

`shutdown`: (booleano) chiude l'istanza dopo l'esecuzione di Sysprep

*Esempio*

```
task: sysprep
inputs:
clean: true
shutdown: true
```

## writeFile
<a name="ec2-launch-v2-writefile"></a>

Scrive un file in una destinazione.

*Frequency* - vedi *Inputs*

*AllowedStages* — `[PostReady, UserData]`

*Inputs* — 

`frequency`: (stringa) `once` o `always`

`destination`: (stringa) percorso in cui scrivere il contenuto

`content`: (stringa) testo da scrivere nella destinazione

*Esempio*

```
task: writeFile
inputs:
  - frequency: once
  destination: C:\Users\Administrator\Desktop\booted.txt
  content: Windows Has Booted
```