{"id":196180,"date":"2024-01-29T11:56:37","date_gmt":"2024-01-29T11:56:37","guid":{"rendered":"https:\/\/www.ninjaone.com\/?p=196180"},"modified":"2025-06-12T13:41:15","modified_gmt":"2025-06-12T13:41:15","slug":"come-eseguire-un-ciclo-powershell","status":"publish","type":"post","link":"https:\/\/www.ninjaone.com\/it\/blog\/come-eseguire-un-ciclo-powershell\/","title":{"rendered":"Come eseguire un ciclo PowerShell: Guida per aumentare l&#8217;efficienza dello scripting"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">PowerShell \u00e8 un potente linguaggio di scripting che consente di automatizzare le attivit\u00e0 sui computer Windows. Gli amministratori di sistema e i professionisti IT possono utilizzare PowerShell per incrementare <\/span><a href=\"https:\/\/www.ninjaone.com\/it\/blog\/come-aumentare-l-efficienza-it-della-propria-organizzazione\/\"><span style=\"font-weight: 400;\">efficienza IT<\/span><\/a><span style=\"font-weight: 400;\"> e produttivit\u00e0 eseguendo comandi attraverso l&#8217;interfaccia a riga di comando dello strumento. Le caratteristiche e i vantaggi di PowerShell includono l&#8217;integrazione con il framework .NET, la gestione remota per ambienti IT su larga scala e la possibilit\u00e0 di creare pipeline di comandi multipli.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Una delle caratteristiche principali di PowerShell \u00e8 la capacit\u00e0 di eseguire pi\u00f9 volte un ciclo di istruzioni, cosa che pu\u00f2 migliorare notevolmente l&#8217;efficienza dello scripting. Se ti stai chiedendo: &#8220;<\/span><b>Come si esegue un ciclo PowerShell?<\/b><span style=\"font-weight: 400;\">&#8220;, continua a leggere; questo articolo ti guider\u00e0 attraverso i tipi di cicli di PowerShell e fornir\u00e0 esempi su come utilizzarli in modo efficace<\/span>.<\/p>\n<h2>Tipi di ciclo PowerShell (ciclo <i>for<\/i>, ciclo <i>foreach<\/i>, ciclo <i>while<\/i>, ciclo <i>do while<\/i>, ciclo <i>do until<\/i>)<\/h2>\n<p><span style=\"font-weight: 400;\">Per capire come eseguire un ciclo in PowerShell, iniziamo col comprendere i tipi di ciclo. Ogni variante del ciclo di PowerShell ha una sintassi e un utilizzo unici. Comprendendo le differenze tra di essi, potrai scegliere quello pi\u00f9 adatto alle tue esigenze.<\/span><\/p>\n<h3>Sintassi e utilizzo del <strong>ciclo <i>for<\/i><\/strong> in PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">Il ciclo PowerShell <\/span><i><span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> \u00e8 un costrutto classico dei linguaggi di programmazione come PowerShell che consente di iterare su un intervallo di valori specificato. Si compone di tre parti: l&#8217;inizializzazione, la condizione e l&#8217;iterazione:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">L\u2019<\/span><b>inizializzazione<\/b><span style=\"font-weight: 400;\"> imposta il valore iniziale di una variabile.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">La <\/span><b>condizione<\/b><span style=\"font-weight: 400;\"> controlla se il ciclo deve continuare (ad esempio, controllando se la variabile \u00e8 minore o maggiore di un numero specifico).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">L&#8217;<\/span><b>iterazione<\/b><span style=\"font-weight: 400;\"> aggiorna la variabile dopo ogni iterazione.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Per utilizzare il ciclo <\/span><i><span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> in PowerShell, segui questa sintassi:<\/span><\/p>\n<p><strong>for ($i = 0; $i -lt 10; $i++) { # Il tuo codice qui }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In questo esempio, il ciclo verr\u00e0 eseguito 10 volte, partendo da zero e aumentando di uno a ogni iterazione.<\/span><\/p>\n<h3>Sintassi e utilizzo del <strong>ciclo <i>foreach<\/i><\/strong> in PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">Il ciclo PowerShell <\/span><i><span style=\"font-weight: 400;\">foreach<\/span><\/i><span style=\"font-weight: 400;\">\u00a0viene utilizzato per iterare su un insieme di elementi, come un array o un elenco. Assegna automaticamente ogni elemento a una variabile, consentendo di eseguire azioni su ogni singolo elemento.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Per utilizzare il ciclo Powershell <\/span><i><span style=\"font-weight: 400;\">foreach<\/span><\/i><span style=\"font-weight: 400;\">, segui questa sintassi:<\/span><\/p>\n<p><strong>foreach ($item in $collection) { # Il tuo codice qui }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In questo esempio, il ciclo itera su ogni elemento della variabile $collection e puoi accedere a ogni elemento usando la variabile $item all&#8217;interno del ciclo.<\/span><\/p>\n<h3>Sintassi e utilizzo del <strong>ciclo <i>while<\/i><\/strong> in PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">Il ciclo PowerShell <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\"> si usa quando si vuole ripetere un insieme di istruzioni finch\u00e9 una certa condizione \u00e8 vera. Controlla la condizione prima di ogni iterazione ed esce dal ciclo quando la condizione diventa falsa.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Per utilizzare il ciclo PowerShell <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\">, segui questa sintassi:<\/span><\/p>\n<p><strong>while ($condition) { # Il tuo codice qui }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In questo esempio, il ciclo continuer\u00e0 a essere eseguito finch\u00e9 la condizione $ \u00e8 vera.<\/span><\/p>\n<h3>Sintassi e utilizzo del <strong>ciclo<\/strong> <i>do<strong> while <\/strong><\/i>in PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">Il ciclo PowerShell <\/span><i><span style=\"font-weight: 400;\">do while<\/span><\/i><span style=\"font-weight: 400;\"> \u00e8 simile al ciclo <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\"> ma controlla la condizione dopo ogni iterazione invece che prima. Ci\u00f2 significa che il ciclo verr\u00e0 sempre eseguito almeno una volta, anche se la condizione \u00e8 inizialmente falsa.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Per utilizzare il ciclo <\/span><i><span style=\"font-weight: 400;\">do while<\/span><\/i><span style=\"font-weight: 400;\"> in PowerShell, segui questa sintassi:<\/span><\/p>\n<p><strong>do { # Il tuo codice qui } while ($condition)<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In questo esempio, il ciclo eseguir\u00e0 il blocco di codice almeno una volta e continuer\u00e0 a eseguirlo finch\u00e9 la condizione $ \u00e8 vera.<\/span><\/p>\n<h3>Sintassi e utilizzo del <strong>ciclo <i>do until<\/i><\/strong> in PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">Il ciclo PowerShell <\/span><i><span style=\"font-weight: 400;\">do until<\/span><\/i><span style=\"font-weight: 400;\">\u00a0\u00e8 l&#8217;opposto del ciclo <\/span><i><span style=\"font-weight: 400;\">do while<\/span><\/i><span style=\"font-weight: 400;\">. Esegue una serie di istruzioni finch\u00e9 non si verifica una determinata condizione. Ci\u00f2 significa che il ciclo verr\u00e0 sempre eseguito almeno una volta, anche se la condizione \u00e8 inizialmente vera.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Per utilizzare il ciclo <\/span><i><span style=\"font-weight: 400;\">do until<\/span><\/i><span style=\"font-weight: 400;\"> in PowerShell, segui questa sintassi:<\/span><\/p>\n<p><strong>do { # Il tuo codice qui } until ($condition)<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In questo esempio, il ciclo eseguir\u00e0 il blocco di codice almeno una volta e poi continuer\u00e0 a eseguirlo finch\u00e9 la condizione $ sar\u00e0 vera.<\/span><\/p>\n<h2>Come si ripete un comando PowerShell?<\/h2>\n<p><span style=\"font-weight: 400;\">Ora che hai compreso le basi di come eseguire un ciclo in PowerShell, facciamo un ulteriore passo avanti. Uno dei modi pi\u00f9 semplici per ripetere un comando PowerShell \u00e8 quello di utilizzare semplicemente un costrutto di ciclo e specificare il numero di volte che vuoi che il comando venga eseguito.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Per esempio, se vuoi ripetere un comando per 5 volte, puoi usare un ciclo <\/span><i><span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> come questo:<\/span><\/p>\n<p><strong>for ($i = 0; $i -lt 5; $i++) { # Il tuo comando qui }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Il comando verr\u00e0 eseguito cinque volte: la variabile $i verr\u00e0 incrementata di uno dopo ogni iterazione e il ciclo si interromper\u00e0 quando il valore della variabile raggiunger\u00e0 il valore cinque.<\/span><\/p>\n<h2>Esempi di ciclo PowerShell<\/h2>\n<p><span style=\"font-weight: 400;\">Di seguito sono riportati alcuni esempi di base di come puoi utilizzare un ciclo PowerShell per automatizzare le attivit\u00e0 e migliorare l&#8217;efficienza dello scripting.<\/span><\/p>\n<h3>Esempio 1: Stampa numeri da 1 a 10 con un ciclo <i>for<\/i><\/h3>\n<p><strong>for ($i = 1; $i -le 10; $i++) { Write-Output $i }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In questo modo verranno stampati i numeri da 1 a 10 nella console di PowerShell.<\/span><\/p>\n<h3>Esempio 2: Iterazione su un array con un ciclo <i>foreach<\/i><\/h3>\n<p><strong>$fruits = @(&#8220;apple&#8221;, &#8220;banana&#8221;, &#8220;orange&#8221;)<\/strong><\/p>\n<p><strong>foreach ($fruit in $fruits) { Write-Output $fruit }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">In questo modo si iterer\u00e0 su ogni elemento dell&#8217;array $fruits e lo si stamper\u00e0 nella console di PowerShell.<\/span><\/p>\n<h2>Altri modi per automatizzare utilizzando PowerShell<\/h2>\n<p><span style=\"font-weight: 400;\">Oltre ai cicli, <\/span><a href=\"https:\/\/www.ninjaone.com\/blog\/how-to-automate-tasks-with-powershell\/\"><span style=\"font-weight: 400;\">PowerShell offre molti altri modi per automatizzare le operazioni<\/span><\/a><span style=\"font-weight: 400;\"> e migliorare l&#8217;efficienza dello scripting. Ecco alcuni esempi:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Funzioni:<\/b><span style=\"font-weight: 400;\"> Puoi definire funzioni riutilizzabili in PowerShell per isolare un insieme di istruzioni e utilizzarle quando necessario.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Moduli:<\/b><span style=\"font-weight: 400;\"> I moduli PowerShell ti consentono di impacchettare e condividere gli script, facilitando il riutilizzo del codice in progetti diversi.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Pipeline: <\/b><span style=\"font-weight: 400;\">Le pipeline di PowerShell ti consentono di concatenare i comandi, usando l&#8217;output di un comando come input di un altro e semplificando notevolmente le attivit\u00e0 complesse.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Attivit\u00e0 programmate: <\/b><span style=\"font-weight: 400;\">\u00c8 possibile utilizzare PowerShell per creare attivit\u00e0 pianificate che automatizzano l&#8217;esecuzione di script in momenti o intervalli specifici.<\/span><\/li>\n<\/ol>\n<h2>Conclusioni<\/h2>\n<p><span style=\"font-weight: 400;\">Sapere come eseguire un ciclo in PowerShell ti far\u00e0 guadagnare in produttivit\u00e0, migliorando l&#8217;efficienza del tuo scripting. Comprendere la sintassi e l&#8217;uso di ciascun tipo di ciclo ti permetter\u00e0 di scegliere quello pi\u00f9 appropriato per lo scenario specifico. Incorporare queste tecniche nei tuoi flussi di lavoro di scripting PowerShell far\u00e0 risparmiare innumerevoli ore di tempo e di impegno al tuo reparto IT.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Imparare a eseguire i cicli in PowerShell \u00e8 solo una delle tecniche per <a href=\"https:\/\/www.ninjaone.com\/it\/blog\/category\/scripts-it\/\">automatizzare le attivit\u00e0 ripetitive con PowerShell<\/a>. Se hai bisogno di altre idee per aumentare la produttivit\u00e0 e l&#8217;efficienza, dai un&#8217;occhiata alla nostra guida su come <\/span><a href=\"https:\/\/www.ninjaone.com\/it\/blog\/automatizzare-le-installazioni-di-office-365\/\"><span style=\"font-weight: 400;\">automatizzare l&#8217;installazione di Office 365 con PowerShell<\/span><\/a><span style=\"font-weight: 400;\"> o il nostro elenco delle <\/span><a href=\"https:\/\/www.ninjaone.com\/it\/blog\/top-10-attivita-ripetitive-da-automatizzare\/\"><span style=\"font-weight: 400;\">10 attivit\u00e0 ripetitive dell&#8217;helpdesk da automatizzare<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PowerShell \u00e8 un potente linguaggio di scripting che consente di automatizzare le attivit\u00e0 sui computer Windows. Gli amministratori di sistema e i professionisti IT possono utilizzare PowerShell per incrementare efficienza IT e produttivit\u00e0 eseguendo comandi attraverso l&#8217;interfaccia a riga di comando dello strumento. Le caratteristiche e i vantaggi di PowerShell includono l&#8217;integrazione con il framework [&hellip;]<\/p>\n","protected":false},"author":89,"featured_media":194664,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[4354,3066],"tags":[],"class_list":["post-196180","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-operazioni-it","category-rmm-it"],"acf":[],"modified_by":"Sergio Oricci","_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts\/196180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/users\/89"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/comments?post=196180"}],"version-history":[{"count":0,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts\/196180\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media\/194664"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media?parent=196180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/categories?post=196180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/tags?post=196180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}