docs/site/HyperV/configurazione-ambiente-pow.../index.html

390 lines
20 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<link rel="canonical" href="/HyperV/configurazione-ambiente-powershell/">
<meta property="og:title" content="Configurazione Ambiente PowerShell per Sviluppo | docmd">
<meta property="og:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<meta property="og:url" content="/HyperV/configurazione-ambiente-powershell/">
<meta property="og:site_name" content="docmd">
<meta property="og:image" content="/assets/images/docmd-preview.png">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Configurazione Ambiente PowerShell per Sviluppo | docmd">
<meta name="twitter:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<meta name="twitter:image" content="/assets/images/docmd-preview.png">
<title>Configurazione Ambiente PowerShell per Sviluppo : docmd</title>
<link rel="shortcut icon" href="../assets/favicon.ico" type="image/x-icon">
<script>// Source file from the docmd project — https://github.com/mgks/docmd
/*
* Initialize the theme from localStorage
*/
(function() {
try {
const storedTheme = localStorage.getItem('docmd-theme');
if (storedTheme) {
document.documentElement.setAttribute('data-theme', storedTheme);
// Also update highlight CSS link to match the stored theme
const highlightThemeLink = document.getElementById('highlight-theme');
if (highlightThemeLink) {
const baseHref = highlightThemeLink.getAttribute('data-base-href');
if (baseHref) {
const newHref = baseHref + `docmd-highlight-${storedTheme}.css`;
highlightThemeLink.setAttribute('href', newHref);
}
}
}
} catch (e) {
console.error('Error applying theme from localStorage', e);
}
})();</script>
<link rel="stylesheet" href="../assets/css/docmd-main.css">
<link rel="stylesheet" id="highlight-theme" href="../assets/css/docmd-highlight-light.css" data-base-href="../assets/css/">
<link rel="stylesheet" href="../assets/css/docmd-theme-sky.css">
<!-- Google Analytics GA4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8QVBDQ4KM1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-8QVBDQ4KM1');
</script>
</head>
<body class="sidebar-collapsible"
data-theme="light" data-default-collapsed="false"
data-copy-code-enabled="true">
<aside class="sidebar">
<div class="sidebar-header">
<a href="/" class="logo-link">
<img src="../assets/images/docmd-logo-light.png" alt="docmd logo" class="logo-light" >
<img src="../assets/images/docmd-logo-dark.png" alt="docmd logo" class="logo-dark" >
</a>
</div>
<nav class="sidebar-nav" aria-label="Main navigation">
<ul>
<li class="" >
<a href="../" class="" >
<svg class="lucide-icon icon-home" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8" />
<path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
</svg>
<span class="nav-item-title">Welcome</span>
</a>
</li>
<li class="collapsible" data-nav-id="#">
<a href="#" class="" >
<svg class="lucide-icon icon-rocket" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z" />
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z" />
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" />
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
</svg>
<span class="nav-item-title">Getting Started</span>
<svg class="lucide-icon icon-chevron-right collapse-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="m9 18 6-6-6-6" />
</svg>
</a>
<ul class="submenu">
<li class="" >
<a href="https://docmd.mgks.dev" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-scroll" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M19 17V5a2 2 0 0 0-2-2H4" />
<path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3" />
</svg>
<span class="nav-item-title">Documentation</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/getting-started/installation" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-download" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 15V3" />
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<path d="m7 10 5 5 5-5" />
</svg>
<span class="nav-item-title">Installation</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/getting-started/basic-usage" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-play" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z" />
</svg>
<span class="nav-item-title">Basic Usage</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/content" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-layout-template" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="18" height="7" x="3" y="3" rx="1" />
<rect width="9" height="7" x="3" y="14" rx="1" />
<rect width="5" height="7" x="16" y="14" rx="1" />
</svg>
<span class="nav-item-title">Content</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
</ul>
</li>
<li class="" >
<a href="https://github.com/mgks/docmd" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-github" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" />
<path d="M9 18c-4.51 2-5-2-7-2" />
</svg>
<span class="nav-item-title">GitHub</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://github.com/sponsors/mgks" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-heart" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5" />
</svg>
<span class="nav-item-title">Support the Project</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
</ul>
</nav>
</aside>
<div class="main-content-wrapper">
<div class="page-header">
<div class="header-left">
<button id="sidebar-toggle-button" class="sidebar-toggle-button" aria-label="Toggle Sidebar">
<svg class="lucide-icon icon-panel-left-close" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="18" height="18" x="3" y="3" rx="2" />
<path d="M9 3v18" />
<path d="m16 15-3-3 3-3" />
</svg>
</button>
<h1>Configurazione Ambiente PowerShell per Sviluppo</h1>
</div>
<div class="header-right">
<button id="theme-toggle-button" aria-label="Toggle theme" class="theme-toggle-button theme-toggle-header">
<svg class="lucide-icon icon-sun icon-sun" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="4" />
<path d="M12 2v2" />
<path d="M12 20v2" />
<path d="m4.93 4.93 1.41 1.41" />
<path d="m17.66 17.66 1.41 1.41" />
<path d="M2 12h2" />
<path d="M20 12h2" />
<path d="m6.34 17.66-1.41 1.41" />
<path d="m19.07 4.93-1.41 1.41" />
</svg>
<svg class="lucide-icon icon-moon icon-moon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" />
</svg>
</button>
</div>
</div>
<main class="content-area">
<div class="content-layout">
<div class="main-content">
<h3 id="guida-rapida-setup-ambiente-di-sviluppo-powershell">🖥️ Guida Rapida: Setup Ambiente di Sviluppo PowerShell</h3>
<p>Questo documento descrive la procedura in due passaggi per configurare un ambiente di sviluppo PowerShell 7 completo, partendo da uninstallazione pulita di Windows.</p>
<p>:::info Nota sulla Sicurezza e lAccesso Offline<br>
Questa procedura è stata progettata per garantire la massima sicurezza e conformità con le policy aziendali. Tutti i file di installazione necessari (Git, PowerShell 7, ecc.) vengono prelevati da una condivisione di rete interna sicura. In questo modo, non è richiesta una connessione a Internet durante il setup sul computer client e si evitano blocchi da parte dei sistemi di sicurezza come Fortinet, assicurando uninstallazione rapida, offline e standardizzata.</p>
<p>:::info Prerequisiti</p>
<ol><li>Accesso alla rete aziendale (per raggiungere lo script sulla condivisione).</li>
<li>Un Personal Access Token (PAT) di GitLab con permessi di lettura sul repository.</li>
</ol>
<h2>:::</h2>
<h3 id="1-eseguire-lo-script-di-bootstrap-bootstrap-devenvps1"><strong>1⃣ Eseguire lo Script di Bootstrap (Bootstrap-DevEnv.ps1)</strong></h3>
<p>Questo primo script si occupa di installare Git e di clonare il repository con tutti gli strumenti necessari.</p>
<ol><li><p>Apri una console Windows PowerShell. Non è necessario aprirla come Amministratore.</p>
</li>
<li><p>Copia lo script in locale. Per evitare problemi di sicurezza con lesecuzione di script da percorsi di rete, il primo passo è copiare lo script in una cartella temporanea sul tuo PC. Esegui questo comando:</p>
</li>
</ol>
<pre class="hljs"><code><span class="hljs-built_in">Copy-Item</span> <span class="hljs-literal">-Path</span> <span class="hljs-string">&quot;\\tecnopack.local\sviluppo\utility\Bootstrap-DevEnv.ps1&quot;</span> <span class="hljs-literal">-Destination</span> <span class="hljs-string">&quot;<span class="hljs-variable">$env:TEMP</span>\Bootstrap-DevEnv.ps1&quot;</span>
</code></pre>
<p>Esegui lo script locale. Ora, lancia la copia dello script che hai appena creato. Questo comando ignorerà temporaneamente i criteri di sicurezza solo per questa esecuzione.</p>
<pre class="hljs"><code>PowerShell <span class="hljs-literal">-ExecutionPolicy</span> Bypass <span class="hljs-operator">-File</span> <span class="hljs-string">&quot;<span class="hljs-variable">$env:TEMP</span>\Bootstrap-DevEnv.ps1&quot;</span> <span class="hljs-literal">-GitLabToken</span> <span class="hljs-string">&quot;IL_TUO_TOKEN_QUI&quot;</span>
</code></pre>
<p>:::danger Importante:<br>
Sostituisci “IL_TUO_TOKEN_QUI” con il tuo token GitLab personale che ti forniranno i Gitlab-Admin.</p>
<h2>:::</h2>
<h3 id="2-eseguire-lo-script-di-setup-finale-setup-powershell7devps1"><strong>2⃣ Eseguire lo Script di Setup Finale (Setup-PowerShell7Dev.ps1)</strong></h3>
<p>Una volta che il primo script ha terminato, il repository si troverà nella cartella Documenti. Ora puoi lanciare lo script che installerà e configurerà PowerShell 7, i font e il terminale.</p>
<p>Apri una nuova console PowerShell come amministratore.</p>
<p>Naviga nella cartella del repository appena clonato con il seguente comando:</p>
<pre class="hljs"><code><span class="hljs-built_in">cd</span> <span class="hljs-variable">$env:USERPROFILE</span>\Documents\Script\Repos\hyperv<span class="hljs-literal">-vmscripts</span>
</code></pre>
<p>Lancia lo script di setup:</p>
<pre class="hljs"><code>PowerShell <span class="hljs-literal">-ExecutionPolicy</span> Bypass <span class="hljs-operator">-File</span> <span class="hljs-string">&quot;.\Setup-PowerShell7Dev.ps1&quot;</span>
</code></pre>
<p>Attendi che completi tutti i passaggi (installerà PowerShell 7, Oh My Posh, i font e aggiornerà le impostazioni di Windows Terminal).</p>
<h3 id="3-completamento"><strong>3⃣ Completamento</strong></h3>
<p>Al termine del secondo script, la configurazione è completa.</p>
<p>Chiudi tutte le finestre di PowerShell e riavvia Windows Terminal.</p>
<p>Dovresti trovare un nuovo profilo chiamato “PowerShell 7 - Dev” (o simile) che si avvia con la versione 7 e mostra il prompt personalizzato da Oh My Posh.</p>
<h3 id="4-impostare-powershell-7-come-predefinito"><strong>4⃣ Impostare PowerShell 7 come predefinito</strong></h3>
<p>Per evitare di usare la vecchia versione, impostala come predefinita in <strong>Windows Terminal</strong>.</p>
<ol><li>Apri <strong>Windows Terminal</strong>.</li>
<li>Vai su <strong>Impostazioni</strong> (o <code>Ctrl + ,</code>).</li>
<li>Nella sezione <strong>Profilo di avvio</strong>, seleziona “PowerShell” (icona scura).<br>
&lt;img src=“/img/screenshots/hyperv/wt-startup-profile.png” alt=“Selezione del profilo di avvio” style={{ maxWidth: 70%, borderRadius: 8px }} /&gt;</li>
<li><strong>Salva</strong> le modifiche.</li>
</ol>
<hr>
<h4 id="prossimi-passi"><strong>Prossimi Passi</strong></h4>
<p>Ora che il tuo ambiente è pronto, puoi tornare alla guida per la gestione delle macchine virtuali.</p>
<p>➡️ <strong>Vai alla <a href="./Gestione.md">Guida alla Gestione di VM Hyper-V</a></strong></p>
</div>
<!-- DEBUG: {"headingsLength":6} -->
<!-- TOC sidebar -->
<div class="toc-sidebar">
<div class="toc-container">
<h2 class="toc-title">On This Page</h2>
<ul class="toc-list">
<li class="toc-item toc-level-3">
<a href="#guida-rapida-setup-ambiente-di-sviluppo-powershell" class="toc-link">🖥️ Guida Rapida: Setup Ambiente di Sviluppo PowerShell</a>
</li>
<li class="toc-item toc-level-3">
<a href="#1-eseguire-lo-script-di-bootstrap-bootstrap-devenvps1" class="toc-link">1⃣ Eseguire lo Script di Bootstrap (Bootstrap-DevEnv.ps1)</a>
</li>
<li class="toc-item toc-level-3">
<a href="#2-eseguire-lo-script-di-setup-finale-setup-powershell7devps1" class="toc-link">2⃣ Eseguire lo Script di Setup Finale (Setup-PowerShell7Dev.ps1)</a>
</li>
<li class="toc-item toc-level-3">
<a href="#3-completamento" class="toc-link">3⃣ Completamento</a>
</li>
<li class="toc-item toc-level-3">
<a href="#4-impostare-powershell-7-come-predefinito" class="toc-link">4⃣ Impostare PowerShell 7 come predefinito</a>
</li>
<li class="toc-item toc-level-4">
<a href="#prossimi-passi" class="toc-link">Prossimi Passi</a>
</li>
</ul>
</div>
</div>
</div>
</main>
<footer class="page-footer">
<div class="footer-content">
<div class="user-footer">
© 2025 Project.
</div>
<div class="branding-footer">
Build with <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path><path d="M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66"></path><path d="m18 15-2-2"></path><path d="m15 18-2-2"></path></svg> <a href="https://docmd.mgks.dev" target="_blank" rel="noopener">docmd.</a>
</div>
</div>
</footer>
</div>
<script src="../assets/js/docmd-main.js"></script>
<script src="../assets/js/docmd-image-lightbox.js"></script>
</body>
</html>