# πŸ› οΈ Script di Amministrazione Repository di script PowerShell per l'amministrazione e la gestione di sistemi Windows, Hyper-V e Active Directory. ## πŸ“‹ Descrizione Questa raccolta contiene script PowerShell progettati per automatizzare operazioni comuni di amministrazione di sistema, semplificare attivitΓ  ripetitive e generare report dettagliati per il monitoraggio dell'infrastruttura IT. ## πŸ“‚ Struttura Repository ``` . β”œβ”€β”€ Hyper-V/ β”‚ β”œβ”€β”€ Report_Checkpoint_HyperV.ps1 β”‚ └── ... β”œβ”€β”€ Active-Directory/ β”‚ └── ... β”œβ”€β”€ Exchange/ β”‚ └── ... β”œβ”€β”€ Utilities/ β”‚ └── ... └── README.md ``` ## βœ… Requisiti ### Requisiti Generali - **Sistema Operativo**: Windows Server 2016 o superiore / Windows 10/11 Pro - **PowerShell**: Versione 5.1 o superiore - **Privilegi**: Privilegi di amministratore per la maggior parte degli script - **Execution Policy**: Configurata per permettere l'esecuzione di script ### Requisiti Specifici per Categoria #### Hyper-V - Ruolo Hyper-V installato e configurato - Modulo PowerShell `Hyper-V` #### Active Directory - RSAT (Remote Server Administration Tools) installato - Modulo PowerShell `ActiveDirectory` #### Exchange - Exchange Management Shell o modulo Exchange installato - Connessione al server Exchange ## πŸš€ Utilizzo ### 1. Configurazione Execution Policy Prima di eseguire qualsiasi script, verificare la policy di esecuzione: ```powershell Get-ExecutionPolicy ``` Se necessario, modificarla (come amministratore): ```powershell Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ``` ### 2. Esecuzione Script **Metodo 1**: Esecuzione diretta ```powershell # Aprire PowerShell come Amministratore cd C:\path\to\repository .\Hyper-V\Report_Checkpoint_HyperV.ps1 ``` **Metodo 2**: Importazione e utilizzo come funzione ```powershell . .\Hyper-V\Report_Checkpoint_HyperV.ps1 ``` ### 3. Personalizzazione Parametri Molti script contengono variabili configurabili all'inizio del file. Modificare i valori secondo le proprie esigenze: ```powershell # Esempio $ExportPath = "C:\Reports\MioReport.csv" $Server = "Server01" ``` ## πŸ“œ Script Disponibili ### Hyper-V #### Report_Checkpoint_HyperV.ps1 **Descrizione**: Genera un report CSV contenente l'elenco delle VM Hyper-V locali con il conteggio dei checkpoint. **Utilizzo**: ```powershell .\Hyper-V\Report_Checkpoint_HyperV.ps1 ``` **Output**: File CSV in `C:\temp\Report_Checkpoint_HyperV.csv` **Privilegi richiesti**: Amministratore --- *Aggiungi qui la documentazione per gli altri script man mano che vengono creati* ## ⚠️ Avvertenze - **Backup**: Eseguire sempre un backup prima di utilizzare script che modificano configurazioni di sistema - **Testing**: Testare gli script in ambiente non di produzione prima di utilizzarli su sistemi critici - **Privilegi**: Verificare che l'account utilizzato abbia i privilegi necessari - **Audit**: Controllare sempre il codice degli script prima dell'esecuzione ## 🀝 Contribuire I contributi sono benvenuti! Per contribuire: 1. Effettua il fork del repository 2. Crea un branch per la tua feature (`git checkout -b feature/NuovaFunzionalita`) 3. Commit delle modifiche (`git commit -m 'Aggiunta nuova funzionalitΓ '`) 4. Push al branch (`git push origin feature/NuovaFunzionalita`) 5. Apri una Pull Request ### Linee Guida per i Contributi - Includere commenti chiari e descrittivi nel codice - Utilizzare il blocco `.SYNOPSIS` e `.DESCRIPTION` per la documentazione - Gestire correttamente gli errori con try-catch - Fornire output informativi all'utente - Aggiornare il README con la documentazione dello script ## πŸ“ Best Practices Gli script in questo repository seguono queste best practices: - **Documentazione**: Ogni script include commenti header con descrizione e utilizzo - **Gestione Errori**: Implementazione di error handling appropriato - **Output Strutturato**: Utilizzo di oggetti personalizzati (PSCustomObject) per dati strutturati - **Feedback Utente**: Messaggi informativi durante l'esecuzione - **Path Validation**: Verifica dell'esistenza di directory prima della scrittura - **Encoding Standard**: Utilizzo di UTF-8 per i file di output ## πŸ“Š Report e Log Gli script che generano report utilizzano le seguenti convenzioni: - **Formato predefinito**: CSV con encoding UTF-8 - **Percorso predefinito**: `C:\temp\` (modificabile) - **Nomenclatura**: Descrittiva e con timestamp quando appropriato - **Delimitatore CSV**: Virgola (,) ## πŸ” Sicurezza - Mai includere credenziali hardcoded negli script - Utilizzare Windows Credential Manager o variabili sicure per le password - Limitare i permessi di esecuzione agli amministratori autorizzati - Effettuare audit regolari delle modifiche al repository ## πŸ“ž Supporto Per problemi, domande o suggerimenti: - Aprire una Issue su GitHub - Verificare la documentazione degli script - Controllare i requisiti di sistema ## πŸ“„ Licenza Questo progetto Γ¨ distribuito sotto licenza MIT. Vedere il file `LICENSE` per maggiori dettagli. --- **Nota**: Questo repository Γ¨ in continua evoluzione. Gli script vengono aggiunti e aggiornati regolarmente in base alle necessitΓ  operative. ## πŸ”„ Changelog ### [Data] - Versione Iniziale - Aggiunto script Report_Checkpoint_HyperV.ps1 - Creata struttura repository - Documentazione iniziale --- **Ultimo aggiornamento**: 07 aprile 2026