{"id":12260,"date":"2026-02-13T17:38:02","date_gmt":"2026-02-13T17:38:02","guid":{"rendered":"https:\/\/howtogeek.blog\/it\/?p=12260"},"modified":"2026-02-13T17:38:02","modified_gmt":"2026-02-13T17:38:02","slug":"come-semplificare-le-attivita-con-lautomazione-degli-script-di-powershell","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/it\/come-semplificare-le-attivita-con-lautomazione-degli-script-di-powershell\/","title":{"rendered":"Come semplificare le attivit\u00e0 con l&#8217;automazione degli script di PowerShell"},"content":{"rendered":"<p>PowerShell \u00e8 uno strumento piuttosto potente per il controllo dei processi, l&#8217;automazione delle attivit\u00e0 e tutto il resto sui computer Windows. Onestamente, se si cerca di eseguire script automaticamente, magari per backup, aggiornamenti o semplicemente per la manutenzione ordinaria, PowerShell pu\u00f2 farlo. Ma la parte difficile \u00e8 che Windows ha una misura di sicurezza chiamata criteri di esecuzione, che agisce in un certo senso come un gatekeeper, bloccando l&#8217;esecuzione di file non firmati o script provenienti da Internet a meno che non si dia il consenso. Questo pu\u00f2 essere un problema, soprattutto se si sta solo cercando di automatizzare un po&#8217; il processo senza dover cliccare continuamente &#8220;S\u00ec&#8221; o modificare manualmente le impostazioni ogni volta.<\/p>\n<p>Quindi, ecco il punto: devi prima abbassare il criterio di esecuzione, poi impostare la pianificazione. Altrimenti, gli script non verranno eseguiti o verranno bloccati, il che \u00e8 davvero frustrante. Inoltre, ci sono un paio di modi per automatizzare questi script: utilizzando l&#8217;interfaccia utente grafica dell&#8217;Utilit\u00e0 di pianificazione per i meno esperti, o PowerShell stesso se hai familiarit\u00e0 con i cmdlet. In entrambi i casi, questi passaggi dovrebbero aiutarti a far funzionare le cose automaticamente senza problemi (o almeno a renderle meno complicate).Tieni presente che, in alcune configurazioni, potrebbero essere necessari diritti di amministratore o autorizzazioni aggiuntive, a seconda dei criteri di sicurezza.<\/p>\n<h2>Come automatizzare gli script di PowerShell?<\/h2>\n<h3>Correggi prima la politica di esecuzione per consentire l&#8217;esecuzione degli script<\/h3>\n<p>Questa impostazione \u00e8 ci\u00f2 che blocca l&#8217;esecuzione degli script nella maggior parte dei casi.\u00c8 un po&#8217; strano, ma se il criterio di esecuzione \u00e8 impostato su &#8220;Limitato&#8221; (come di solito \u00e8 per impostazione predefinita), PowerShell non eseguir\u00e0 script non firmati. Quindi, \u00e8 necessario allentare questa sicurezza in modo controllato, idealmente solo per il proprio ambito utente. Per farlo, apri <strong>PowerShell<\/strong> con diritti di amministratore (cerca PowerShell, fai clic con il pulsante destro del mouse, quindi scegli <strong>&#8220;Esegui come amministratore&#8221;<\/strong> ) e inserisci questo comando:<\/p>\n<pre><code>Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned<\/code><\/pre>\n<p>Questo ti consente di eseguire script firmati o creati localmente. Su alcune macchine, riceverai un messaggio che ti chieder\u00e0 se sei sicuro di voler modificare la policy: rispondi semplicemente &#8220;S\u00ec&#8221;.Se i tuoi script provengono da Internet o da fonti non attendibili, dovrai impostarla su &#8221; <code>Unrestricted<\/code>. Usa questo comando:<\/p>\n<pre><code>Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted<\/code><\/pre>\n<p>Un po&#8217; di cautela, perch\u00e9 ovviamente Windows deve rendere l&#8217;operazione pi\u00f9 difficile del necessario. Attenzione: l&#8217;impostazione <code>Unrestricted<\/code>consentir\u00e0 l&#8217;esecuzione di tutti gli script, il che pu\u00f2 rappresentare un rischio per la sicurezza se non si presta attenzione.<\/p>\n<h3>Metodo 1: utilizzo dell&#8217;Utilit\u00e0 di pianificazione<\/h3>\n<p>Questa \u00e8 la soluzione pi\u00f9 semplice per la maggior parte delle persone, soprattutto se si desidera semplicemente cliccare e dimenticare.\u00c8 un&#8217;operazione semplice, senza bisogno di script. Apri &#8220;Esegui con&#8221; <kbd>Win + R<\/kbd>, quindi digita <strong>taskschd.msc<\/strong>. Questo \u00e8 il tuo gateway per <strong>Utilit\u00e0 di pianificazione<\/strong>. Quindi fai clic con il pulsante destro del mouse su <strong>Libreria Utilit\u00e0 di pianificazione<\/strong> e scegli <strong>&#8220;Crea attivit\u00e0 di base&#8221;<\/strong> o <strong>&#8220;Crea attivit\u00e0&#8221;<\/strong> per ulteriori opzioni.<\/p>\n<ul>\n<li>Assegna un nome all&#8217;attivit\u00e0 e fornisci una breve descrizione (ad esempio &#8220;Esegui automaticamente script PowerShell&#8221;).Nella scheda <strong>Generale<\/strong>, imposta l&#8217;esecuzione indipendentemente dall&#8217;accesso, se necessario. A volte, potrebbe essere necessario selezionare <strong>&#8220;Esegui con i privilegi pi\u00f9 elevati&#8221;<\/strong> se lo script richiede i diritti di amministratore (come solitamente accade).<\/li>\n<li>Imposta il trigger: quando vuoi che venga eseguito. Ogni giorno, all&#8217;avvio, all&#8217;accesso, come preferisci. Fai clic su <strong>Nuovo<\/strong>, seleziona la pianificazione e premi OK.<\/li>\n<li>Successivamente, vai alla scheda <strong>Azioni<\/strong>, premi <strong>Nuovo<\/strong>, quindi seleziona <strong>Avvia un programma<\/strong>. Nella casella Programma\/script, digita <code>powershell<\/code>e in <strong>Aggiungi argomenti<\/strong>, inserisci <code>-File \"full\\path\\to\\your\\script.ps1\"<\/code>. Ad esempio: <code>-File \"D:\\Scripts\\backup.ps1\"<\/code>. Assicurati che il percorso e il nome del file siano corretti, altrimenti non verr\u00e0 eseguito.<\/li>\n<li>Se necessario, modifica altre impostazioni come condizioni o impostazioni, quindi fai clic su OK. Fatto.<\/li>\n<\/ul>\n<p>Questo \u00e8 praticamente tutto: questa configurazione avvier\u00e0 lo script a intervalli programmati o in base a trigger specifici. Impostandolo in questo modo, non dovrai pi\u00f9 eseguire operazioni manuali, non dovrai pi\u00f9 dimenticarti nulla: solo automazione.<\/p>\n<h3>Metodo 2: automatizzare direttamente tramite PowerShell<\/h3>\n<p>Se ti piace lo scripting e vuoi fare tutto da PowerShell, questo metodo fa al caso tuo.\u00c8 un po&#8217; pi\u00f9 complesso, ma pi\u00f9 flessibile e ripetibile. Per prima cosa, devi creare un oggetto trigger:<\/p>\n<pre><code>$Trigger = New-ScheduledTaskTrigger -Once -At 4am<\/code><\/pre>\n<p>In questo modo, l&#8217;attivit\u00e0 verr\u00e0 eseguita una volta alle 4 del mattino. Modificare <code>-Once<\/code>l&#8217; <code>-Daily<\/code>impostazione <code>-AtStartup<\/code>per trigger diversi. Ad esempio, un&#8217;esecuzione giornaliera ogni 3 giorni:<\/p>\n<pre><code>$Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 3 -At 9am<\/code><\/pre>\n<p>Successivamente, definisci l&#8217;azione, ovvero cosa viene eseguito quando il trigger viene attivato.\u00c8 qui che <code>New-ScheduledTaskAction<\/code>entra in gioco:<\/p>\n<pre><code>$Action = New-ScheduledTaskAction -Execute \"powershell.exe\" -Argument \"-File `\"<full>`\"<\/full><\/code><\/pre>\n<p>Non dimenticare di sostituire `<full>` con la posizione effettiva dello script. Inoltre, se si desidera che lo script venga eseguito con un account utente specifico, definire una variabile per quell&#8217;account o utilizzare l&#8217;utente corrente:<\/full><\/p>\n<pre><code>$User = \"YourDomain\\YourUser\"<\/code><\/pre>\n<p>Infine, registra l&#8217;attivit\u00e0 con <code>Register-ScheduledTask<\/code>. Un esempio:<\/p>\n<pre><code>Register-ScheduledTask -TaskName \"My PowerShell Auto\" -Trigger $Trigger -User $User -Action $Action<\/code><\/pre>\n<p>In questo modo, \u00e8 possibile automatizzare completamente tutto da PowerShell, il che \u00e8 utile se si desidera personalizzare molto o automatizzare gli script di installazione. Un piccolo avvertimento: potrebbero essere necessari i diritti di amministratore per alcuni di questi comandi, soprattutto se si creano attivit\u00e0 che vengono eseguite con privilegi elevati.<\/p>\n<p>In una configurazione, tutto \u00e8 andato storto la prima volta, probabilmente a causa della sicurezza o delle autorizzazioni. Dopo un riavvio o l&#8217;esecuzione di PowerShell come amministratore, ha funzionato correttamente. A volte, \u00e8 necessario modificare le autorizzazioni o i criteri utente per ottenere il risultato desiderato.<\/p>\n<p>Con tutto questo a disposizione, \u00e8 piuttosto semplice far funzionare gli script di PowerShell nei tempi previsti, che siano giornalieri, all&#8217;avvio o all&#8217;accesso, senza clic aggiuntivi. Basta un po&#8217; di lavoro preliminare, e poi il gioco \u00e8 fatto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PowerShell \u00e8 uno strumento piuttosto potente per il controllo dei processi, l&#8217;automazione delle attivit\u00e0 e tutto il resto sui computer Windows. Onestamente, se si cerca di eseguire script automaticamente, magari per backup, aggiornamenti o semplicemente per la manutenzione ordinaria, PowerShell pu\u00f2 farlo. Ma la parte difficile \u00e8 che Windows ha una misura di sicurezza chiamata [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12260","post","type-post","status-publish","format-standard","hentry","category-how-to"],"acf":[],"_links":{"self":[{"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/posts\/12260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/comments?post=12260"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/posts\/12260\/revisions"}],"predecessor-version":[{"id":12261,"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/posts\/12260\/revisions\/12261"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/media?parent=12260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/categories?post=12260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/it\/wp-json\/wp\/v2\/tags?post=12260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}