---
id: Gestione
sidebar_position: 0
title: Gestione VM Hyper-V
sidebar_label: Gestione VM Hyper-V
pagination_prev: null
hide_table_of_contents: true
---

### 🖥️ Gestione VM Hyper-V

🎨 Guida passo-passo per configurare e gestire macchine virtuali Hyper-V

💡 **L’obiettivo:** avere un ambiente pronto per import/export VM e gestione dischi senza errori

Questa guida è pensata per sviluppatori e amministratori di sistema che necessitano di un ambiente Hyper-V organizzato e efficiente per la gestione delle macchine virtuali.

---

#### 1️⃣ Requisiti

*   **PowerShell 7+** (necessario per gestione caratteri e compatibilità)
    *   Installazione da terminale amministratore su Windows:
        ````powershell
        winget install --id Microsoft.Powershell --source winget
        ````

:::warning
Se è presente una versione precedente di PowerShell, si consiglia di rimuoverla prima di installare la versione 7+. Le versioni precedenti potrebbero causare problemi di gestione dei caratteri e di compatibilità con lo script.
:::

*   **Percorso dello script `VmManage.ps1`**: Lo script è progettato per facilitare le operazioni di **Import** ed **Export** delle VM.
    *   Il percorso di rete dello script è: `` \\tecnopack.local\sviluppo\Virtuale_Machines\Virtual_Machine-Hyper-V\VMScript\VmManage.ps1 ``.

---

#### 2️⃣ Creazione dei Commutatori Virtuali (Virtual Switch)

* #### Rimozione Sicura Virtual Switch

    * Apri PowerShell come Amministratore.
    * Elenca gli switch esistenti (opzionale ma consigliato), Questo ti permette di vedere quali switch verranno eliminati.
    ````powershell
        Get-VMSwitch
        ````
    * Spegni le VM.
    * Esegui il comando di rimozione.
    ````powershell
        Get-VMSwitch | Remove-VMSwitch -Force
        ````
    * Verifica la rimozione (opzionale).
        Esegui di nuovo il comando per elencare gli switch. Se tutto è andato a buon fine, non dovrebbe restituire alcun risultato.
    ````powershell
        Get-VMSwitch
        ````
#### Per consentire alle macchine virtuali di connettersi alla rete, è fondamentale creare uno o più commutatori virtuali.

1.  Aprire la console di gestione Hyper-V 
2.  Dal menu a destra, selezionare **Gestione Commutatori Virtuali...** 
    
*   **Commutatore 1: Wifi**
    * <img src="/img/screenshots/hyperv/switch_lan.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} />
    *   **Tipo:** Esterno wifi
    *   **Collegato a:** scheda WiFi del PC host 
    *   Permette alle VM di connettersi alla rete wireless.


*   **Commutatore 2: Lan**
    * <img src="/img/screenshots/hyperv/switch_lan.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} />
    *   **Tipo:** Esterno 
    *   **Collegato a:** scheda di rete fisica del PC host 
    *   Permette alle VM di connettersi alla rete cablata.

:::tip
Dopo aver creato i commutatori, le VM potranno scegliere tra Wifi o Lan durante la configurazione della scheda di rete virtuale.
:::

---

#### 3️⃣ Impostazioni Hyper-V

*   **Percorso dello script `VmManage.ps1`**: Lo script è progettato per facilitare le operazioni di **Import** ed **Export** delle VM.
    *   Il percorso di rete dello script è: `` \\tecnopack.local\sviluppo\Virtuale_Machines\Virtual_Machine-Hyper-V\VMScript\VmManage.ps1 ``.

Per mantenere l'organizzazione e prevenire problemi futuri con i percorsi di default, si raccomanda di configurare le impostazioni di Hyper-V.

*   **Cartella principale VM:** `` D:\VMs ``
*   **Dischi virtuali:** `` D:\VMs<Nome_VM>\Virtual Hard Disks `` 
*   **Configurazioni VM:** `` D:\VMs<Nome_VM>\Virtual Machines `` 

:::tip
**Si consiglia vivamente di impostare questi percorsi personalizzati *prima* di creare qualsiasi macchina virtuale** per garantire una migliore organizzazione e facilitare la gestione futura. Modificare questi percorsi dopo aver creato le VM può essere più complesso.
:::

---

#### 4️⃣ 🚀 Uso dello script `VmManage.ps1`

Lo script `VmManage.ps1` è uno strumento utile per automatizzare le operazioni di **esportazione** e **importazione** di macchine virtuali Hyper-V.

##### 4.1 Preparazione

1.  **Copiare** La cartella`VMScript` in locale sul tuo PC, ad esempio `` Documenti ``.
2.  **Aprire PowerShell 7 come Amministratore**.
3.  **Navigare** nella cartella dove è stato copiato lo script: [9, 10]
    ````powershell
    cd ~/Documenti\VMScript
    ````

##### 4.2 Avvio dello script

Eseguire lo script dal terminale PowerShell:
````powershell
.\VmManage.ps1
````
<img src="/img/screenshots/hyperv/Script1.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} />
Lo script presenterà delle opzioni o guiderà l'utente attraverso le seguenti funzionalità:
<img src="/img/screenshots/hyperv/Script1.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} />

* Per Export E (Esportazione di una VM):
    * <img src="/img/screenshots/hyperv/ScriptE.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} />
    * Lo script spegne la macchina virtuale selezionata.
    * Copia i file della VM in una cartella con un timestamp (data e ora dell'esportazione), utile per versioning e backup.
    * Una volta completata la copia, riavvia la VM allo stato precedente.
    * Questa funzione è utile per creare backup o per preparare una VM per il trasferimento.
* Per Import I (Importazione di una VM):
    * <img src="/img/screenshots/hyperv/ScriptI.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} />
    * Permette di importare una VM precedentemente esportata.
    * Durante il processo, lo script chiederà di specificare un nuovo nome per la VM da importare.
    * Richiederà anche di indicare la cartella di destinazione dove verranno salvati i file della nuova VM.
    * Prima di procedere, lo script controlla lo spazio disponibile su disco per assicurarsi che ci sia sufficiente spazio per l'importazione.

##### 4.3 Note pratiche
* Sempre avviare PowerShell come Amministratore per evitare errori di permessi durante l'esecuzione dello script o la gestione delle VM.
* Organizzare le VM e i dischi nelle cartelle consigliate per mantenere ordine e facilitare la gestione.
* Durante l'importazione, scegliere un nome chiaro e descrittivo per la nuova VM per identificarla facilmente.

--------------------------------------------------------------------------------
💡 Suggerimenti rapidi:
    * ✅ Sempre seguire i percorsi consigliati per mantenere l'ambiente organizzato.
    * ✅ Avviare PowerShell come amministratore per tutte le operazioni di gestione VM.
    * ✅ Tenere uno spazio sufficiente su disco per le VM e le operazioni di import/export.
    * ✅ Nominare VM e cartelle in modo chiaro e descrittivo.

--------------------------------------------------------------------------------
🔗 Risorse utili: Documentazione Hyper-V
    * [Documentazione ufficiale Hyper-V di Microsoft: Per approfondire gli argomenti e risolvere problemi specifici.](https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/)  
