Modifiche hyperV

This commit is contained in:
Giuseppe De Franceschi 2025-08-27 09:40:15 +02:00
parent 986c06a9b2
commit c2f10918ce
2 changed files with 262 additions and 101 deletions

View File

@ -0,0 +1,147 @@
---
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
💡 **Lobiettivo:** 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_wifi.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/)

View File

@ -1,8 +1,8 @@
--- ---
id: Gestione id: Gestione1
sidebar_position: 0 sidebar_position: 0
title: Gestione VM Hyper-V title: Gestione VM Hyper-V1
sidebar_label: Gestione VM Hyper-V sidebar_label: Gestione VM Hyper-V1
pagination_prev: null pagination_prev: null
hide_table_of_contents: true hide_table_of_contents: true
--- ---
@ -17,131 +17,145 @@ Questa guida è pensata per sviluppatori e amministratori di sistema che necessi
--- ---
#### 1⃣ Requisiti ### 0⃣ Installazione e Rimozione di Hyper-V
* **PowerShell 7+** (necessario per gestione caratteri e compatibilità) Prima di iniziare, è fondamentale avere un'installazione pulita di Hyper-V.
* Installazione da terminale amministratore su Windows:
````powershell #### **Installazione di Hyper-V (se non presente)**
1. Apri **PowerShell come Amministratore**.
2. Esegui il comando seguente per installare tutti i componenti di Hyper-V:
```powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -All -NoRestart
```
3. Al termine, **riavvia il computer** per completare l'installazione.
#### **Rimozione di versioni precedenti o corrotte (Opzionale)**
Se sospetti un'installazione problematica, puoi eseguire una pulizia completa.
1. Apri **PowerShell come Amministratore**.
2. Esegui il comando per disabilitare e rimuovere tutte le funzionalità di Hyper-V:
```powershell
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -NoRestart
```
:::danger Attenzione
Questo comando rimuove tutti i componenti di Hyper-V. Sarà necessario un riavvio per completare la disinstallazione.
:::
---
### 1⃣ Requisiti Software
* **PowerShell 7+**
È necessario per la piena compatibilità con gli script e una corretta gestione dei caratteri.
* Installazione da un terminale amministratore:
```powershell
winget install --id Microsoft.Powershell --source winget winget install --id Microsoft.Powershell --source winget
```` ```
:::warning * **Script `VmManage.ps1`**
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. Questo strumento facilita le operazioni di import ed export.
::: * **Percorso di rete:** `\\tecnopack.local\sviluppo\Virtuale_Machines\Virtual_Machine-Hyper-V\VMScript\VmManage.ps1`
* **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) ### 2⃣ Configurazione dei Commutatori Virtuali (Virtual Switch)
* #### Rimozione Sicura Virtual Switch I commutatori virtuali sono essenziali per connettere le VM alla rete.
* Apri PowerShell come Amministratore. #### **Rimozione sicura dei Virtual Switch esistenti**
* Elenca gli switch esistenti (opzionale ma consigliato), Questo ti permette di vedere quali switch verranno eliminati.
````powershell Per evitare conflitti, è consigliabile rimuovere le configurazioni precedenti.
1. Apri **PowerShell come Amministratore**.
2. Elenca gli switch esistenti per verificarli:
```powershell
Get-VMSwitch Get-VMSwitch
```` ```
* Spegni le VM. 3. Assicurati che tutte le VM siano spente.
* Esegui il comando di rimozione. 4. Rimuovi tutti gli switch con un singolo comando:
````powershell ```powershell
Get-VMSwitch | Remove-VMSwitch -Force 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 #### **Creazione dei nuovi Commutatori**
2. Dal menu a destra, selezionare **Gestione Commutatori Virtuali...**
* **Commutatore 1: Wifi** 1. Apri **Gestione Hyper-V** dal menu Start.
* <img src="/img/screenshots/hyperv/switch_wifi.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} /> 2. Nel pannello Azioni a destra, clicca su **Gestione commutatori virtuali...**.
* **Tipo:** Esterno wifi
* **Collegato a:** scheda WiFi del PC host
* Permette alle VM di connettersi alla rete wireless.
* **Commutatore 1: Wifi**
* **Tipo:** Esterno
* **Scheda di rete:** Seleziona la tua scheda di rete Wi-Fi.
* **Scopo:** Permette alle VM di connettersi tramite la rete wireless.
<br/>
<img src="/img/screenshots/hyperv/switch_wifi.jpg" alt="Configurazione Commutatore Wifi" style={{ maxWidth: '60%', borderRadius: '8px' }} />
* **Commutatore 2: Lan** * **Commutatore 2: LAN**
* <img src="/img/screenshots/hyperv/switch_lan.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} /> * **Tipo:** Esterno
* **Tipo:** Esterno * **Scheda di rete:** Seleziona la tua scheda di rete cablata (Ethernet).
* **Collegato a:** scheda di rete fisica del PC host * **Scopo:** Permette alle VM di connettersi tramite la rete cablata.
* Permette alle VM di connettersi alla rete cablata. <br/>
<img src="/img/screenshots/hyperv/switch_lan.jpg" alt="Configurazione Commutatore LAN" style={{ maxWidth: '60%', borderRadius: '8px' }} />
---
### 3⃣ Impostazioni dei Percorsi di Hyper-V
Una corretta organizzazione dei file previene problemi futuri. Imposta questi percorsi **prima** di creare o importare VM.
* **Dischi rigidi virtuali:** `D:\VMs`
* **Macchine virtuali:** `D:\VMs`
:::tip :::tip
Dopo aver creato i commutatori, le VM potranno scegliere tra Wifi o Lan durante la configurazione della scheda di rete virtuale. Usare una cartella radice unica come `D:\VMs` per dischi e configurazioni semplifica il backup e la gestione. Hyper-V creerà automaticamente sottocartelle con i nomi delle VM.
::: :::
--- ---
#### 3⃣ Impostazioni Hyper-V ### 4⃣ 🚀 Utilizzo dello script `VmManage.ps1`
* **Percorso dello script `VmManage.ps1`**: Lo script è progettato per facilitare le operazioni di **Import** ed **Export** delle VM. Questo script automatizza le operazioni di esportazione e importazione.
* 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. #### **4.1 Preparazione**
* **Cartella principale VM:** `` D:\VMs `` 1. Copia l'intera cartella `VMScript` in una directory locale (es. `Documenti`).
* **Dischi virtuali:** `` D:\VMs<Nome_VM>\Virtual Hard Disks `` 2. Apri **PowerShell 7 come Amministratore**.
* **Configurazioni VM:** `` D:\VMs<Nome_VM>\Virtual Machines `` 3. Naviga nella cartella dove hai copiato lo script:
```powershell
cd ~\Documenti\VMScript
```
:::tip #### **4.2 Abilitazione ed Esecuzione dello Script**
**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.
Per motivi di sicurezza, PowerShell blocca l'esecuzione di script di default. Per abilitare l'esecuzione solo per la sessione corrente, esegui questo comando:
```powershell
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
```
:::info Nota
Questo comando imposta il criterio di esecuzione solo per la finestra di PowerShell corrente. Una volta chiusa, la policy tornerà al suo valore predefinito. È una pratica sicura per eseguire script attendibili.
::: :::
--- Ora, esegui lo script:
#### 4⃣ 🚀 Uso dello script `VmManage.ps1` ```powershell
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 .\VmManage.ps1
```` ```
<img src="/img/screenshots/hyperv/Script1.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} /> Lo script mostrerà un menu interattivo per scegliere l'operazione.
Lo script presenterà delle opzioni o guiderà l'utente attraverso le seguenti funzionalità: <img src="/img/screenshots/hyperv/Script1.jpg" alt="Menu principale dello script" style={{ maxWidth: '70%', borderRadius: '8px' }} />
<img src="/img/screenshots/hyperv/Script1.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} />
* Per Export E (Esportazione di una VM): Export (E): Spegne la VM, ne crea una copia in una cartella con timestamp (es. VM_Export_2023-10-27_10-30-00), e la riavvia. Ideale per creare backup sicuri.
* <img src="/img/screenshots/hyperv/ScriptE.jpg" alt="Commutatore Wifi" style={{ maxWidth: '50%', marginTop: '1rem', borderRadius: '8px' }} /> <img src="/img/screenshots/hyperv/ScriptE.jpg" alt="Processo di Esportazione" style={{ maxWidth: '70%', 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 Import (I): Ti guida nell'importazione di una VM, chiedendoti un nuovo nome e la cartella di destinazione. Controlla lo spazio su disco prima di iniziare.
* Sempre avviare PowerShell come Amministratore per evitare errori di permessi durante l'esecuzione dello script o la gestione delle VM. <img src="/img/screenshots/hyperv/ScriptI.jpg" alt="Processo di Importazione" style={{ maxWidth: '70%', borderRadius: '8px' }} />
* 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.
-------------------------------------------------------------------------------- 4.3 Note Pratiche
💡 Suggerimenti rapidi: ✅ Esegui sempre PowerShell come Amministratore.
* ✅ 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.
-------------------------------------------------------------------------------- ✅ Mantieni i percorsi delle VM organizzati come configurato al punto 3.
🔗 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/) ✅ Scegli nomi chiari e descrittivi per le VM importate.
🔗 Risorse Utili
Documentazione ufficiale Hyper-V di Microsoft: Per approfondimenti e risoluzione di problemi.