{"id":72966,"date":"2020-03-06T08:42:03","date_gmt":"2020-03-06T05:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti"},"modified":"2020-03-06T08:42:03","modified_gmt":"2020-03-06T05:42:03","slug":"chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","title":{"rendered":"Che cos'\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Storicamente, le utilit\u00e0 da riga di comando nei sistemi Unix sono state sviluppate meglio rispetto a Windows, tuttavia, con l'arrivo della nuova soluzione, la situazione \u00e8 cambiata.<\/i><\/p>\n<p>Windows PowerShell consente agli amministratori di sistema di automatizzare la maggior parte delle attivit\u00e0 quotidiane. Con essa, \u00e8 possibile modificare le impostazioni, arrestare e avviare servizi, oltre a gestire la maggior parte delle applicazioni installate. Considerare la finestra blu come un altro interprete di comandi sarebbe errato. Questo approccio non riflette la vera essenza delle innovazioni proposte da Microsoft. In realt\u00e0, le capacit\u00e0 di Windows PowerShell sono molto pi\u00f9 ampie: in un breve ciclo di articoli cercheremo di capire come la soluzione di Microsoft si differenzi dai mezzi a noi pi\u00f9 familiari.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\"><img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/57911997d520dd5eeef9d87ddcecb125.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Caratteristiche principali\u00a0<\/h2>\n<p>\nNaturalmente, Windows PowerShell \u00e8 principalmente una shell di comando con un linguaggio di scripting, originariamente creata sulla base della piattaforma .NET Framework e successivamente su .NET Core. A differenza delle shell che ricevono e restituiscono dati testuali, Windows PowerShell lavora con classi .NET, che dispongono di propriet\u00e0 e metodi. PowerShell consente di eseguire comandi convenzionali e offre accesso agli oggetti COM, WMI e ADSI. Viene utilizzato vari repository, come il file system o il registro di Windows, per accedervi sono stati creati dei cosiddetti fornitori. \u00c8 interessante notare la possibilit\u00e0 di incorporare componenti eseguibili di PowerShell in altre applicazioni per eseguire diverse operazioni, anche tramite interfaccia grafica. Lo stesso vale al contrario: molte applicazioni per Windows offrono accesso alle proprie interfacce di gestione tramite PowerShell.\u00a0<\/p>\n<p>Windows PowerShell consente di:<\/p>\n<ul>\n<li>Modificare le impostazioni del sistema operativo;<\/li>\n<li>Gestire servizi e processi;<\/li>\n<li>Configurare ruoli e componenti del server;<\/li>\n<li>Installare software;<\/li>\n<li>Gestire il software installato tramite interfacce speciali;<\/li>\n<li>Incorporare componenti eseguibili in programmi di terze parti;<\/li>\n<li>Creare script per automatizzare compiti di amministrazione;<\/li>\n<li>Lavorare con il file system, il registro di Windows, il repository dei certificati, ecc.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Shell e ambiente di sviluppo<\/h2>\n<p>\nWindows PowerShell esiste in due forme: oltre all'emulatore della console con il prompt dei comandi, c'\u00e8 l'ambiente integrato di scripting (Integrated Scripting Environment - ISE). Per accedere all'interfaccia della riga di comando \u00e8 sufficiente selezionare l'icona corrispondente nel menu di Windows o avviare powershell.exe dal menu \"Esegui\". Sullo schermo apparir\u00e0 una finestra blu, che si differenzia notevolmente per funzionalit\u00e0 dal vetusto cmd.exe. Qui trovi l'autocompletamento e altre funzionalit\u00e0 familiari agli utenti delle shell di comando nei sistemi Unix.<\/p>\n<p><img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/2b2d6fa0a82530ddedc7c106160a883e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Per utilizzare la shell \u00e8 necessario ricordare alcune combinazioni di tasti:<\/p>\n<ul>\n<li>Le frecce su e gi\u00f9 scorrono la cronologia per ripetere i comandi precedentemente inseriti;<\/li>\n<li>La freccia a destra alla fine della riga reinserisce il comando precedente carattere per carattere;<\/li>\n<li>Ctrl+Home elimina il testo inserito dalla posizione del cursore all'inizio della riga;<\/li>\n<li>Ctrl+End elimina il testo dal cursore fino alla fine della riga.<\/li>\n<\/ul>\n<p>\nF7 mostra una finestra con i comandi precedentemente inseriti e consente di scegliere uno di essi. Nella console \u00e8 anche possibile selezionare il testo con il mouse, copiare e incollare, posizionare il cursore e fare eliminazioni, backspace \u2014 tutto come piace a noi.<\/p>\n<p><img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/217b3584c4ffbbfaea8f4fcd97512505.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nWindows PowerShell ISE \u00e8 un ambiente di sviluppo completo con un editor di codice che supporta le schede e l'evidenziazione della sintassi, un costruttore di comandi, un debugger integrato e altre utilit\u00e0 per programmatori. Se nel tuo editor di ambiente di sviluppo scrivi un trattino dopo il nome di un comando, otterrai un elenco a discesa di tutti i parametri disponibili con l'indicazione del tipo. Puoi avviare PowerShell ISE tramite l'icona nel menu di sistema o utilizzando il file eseguibile powershell_ise.exe.<\/p>\n<p><img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/f80df64ede3d89759757c87709d62155.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Cmdlet\u00a0<\/h2>\n<p>\nIn Windows PowerShell sono stati introdotti i cosiddetti cmdlet. Si tratta di classi specializzate .NET che racchiudono una variet\u00e0 di funzionalit\u00e0. Vengono nominati secondo il principio \"Azione-Oggetto\" (o \"Verbo-Sostantivo\", se preferite), e la connessione separata da un trattino ricorda il predicato e il soggetto nelle frasi delle lingue naturali. Ad esempio, Get-Help significa letteralmente \"Ottieni-Aiuto\" oppure, nel contesto di PowerShell: \"Mostra-Guida\". In sostanza, \u00e8 l'equivalente del comando man nei sistemi Unix e i manuali in PowerShell devono essere richiesti in questo modo, piuttosto che attivando i cmdlet con l'opzione \u2014help o \\\/?. Non dimenticate inoltre la documentazione online di PowerShell: quella di Microsoft \u00e8 piuttosto dettagliata.<\/p>\n<p>Oltre a Get, nei cmdlet vengono utilizzati anche altri verbi (e non solo verbi, a dire il vero) per indicare le azioni. Nella lista qui sotto forniremo alcuni esempi:<\/p>\n<p><code>Aggiungi<\/code> \u2014 aggiungere;<br \/>\n<code>Cancella<\/code> \u2014 pulire;<br \/>\n<code>Abilita<\/code> \u2014 attivare;<br \/>\n<code>Disabilita<\/code> \u2014 disattivare;<br \/>\n<code>Nuovo<\/code> \u2014 creare;<br \/>\n<code>Rimuovi<\/code> \u2014 eliminare;<br \/>\n<code>Imposta<\/code> \u2014 configurare;<br \/>\n<code>Avvia<\/code> \u2014 avviare;<br \/>\n<code>Ferma<\/code> \u2014 fermare;<br \/>\n<code>Export<\/code> \u2014 esportare;<br \/>\n<code>Importa<\/code> \u2014 importare.<\/p>\n<p>Ci sono cmdlet di sistema, cmdlet utente e cmdlet opzionali: al termine dell'esecuzione, tutti restituiscono un oggetto o un array di oggetti. Non sono sensibili al maiuscolo, cio\u00e8, dal punto di vista dell'interprete dei comandi, non c'\u00e8 differenza tra Get-Help e get-help. Il separatore \u00e8 il simbolo ';', ma deve essere utilizzato solo se si eseguono pi\u00f9 cmdlet in una singola riga.\u00a0<\/p>\n<p>I cmdlet di Windows PowerShell sono raggruppati in moduli (NetTCPIP, Hyper-V, ecc.), e per cercare un oggetto e un'azione c'\u00e8 il cmdlet Get-Command. Puoi visualizzare la guida su di esso in questo modo:<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/394c5af2fa8183b22403848f07756118.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Per impostazione predefinita, il comando mostra una sintesi della guida, ma \u00e8 possibile passare parametri (argomenti) ai cmdlet quando necessario. Con questi \u00e8 possibile, ad esempio, ottenere una guida dettagliata (parametro -Detailed) o completa (parametro -Full), cos\u00ec come mostrare esempi (parametro -Examples):<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command -Examples<\/code><\/pre>\n<p>\nLa guida in Windows PowerShell viene aggiornata dal cmdlet Update-Help. Se la riga dei comandi diventa troppo lunga, gli argomenti del cmdlet possono essere spostati sulla riga successiva scrivendo il carattere di continuazione \u2018`\u2019 e premendo Invio \u2014 non sar\u00e0 sufficiente terminare di scrivere il comando su una riga e proseguire su un'altra.<\/p>\n<p>Di seguito riportiamo alcuni esempi di cmdlet comuni:\u00a0<\/p>\n<p><code>Get-Process<\/code> \u2014 mostrare i processi in esecuzione nel sistema;<br \/>\n<code>Get-Service<\/code> \u2014 mostrare i servizi e il loro stato;<br \/>\n<code>Get-Content<\/code> \u2014 visualizzare il contenuto di un file.<\/p>\n<p>Per i cmdlet e le utility esterne frequentemente utilizzati in Windows PowerShell ci sono alias abbreviati. Ad esempio, dir \u00e8 l'alias di Get-ChildItem. Ci sono anche alias per i comandi dei sistemi Unix (ls, ps, ecc.), mentre il cmdlet Get-Help pu\u00f2 essere richiamato con il comando help. L'elenco completo degli alias pu\u00f2 essere visualizzato tramite il cmdlet Get-Alias:<\/p>\n<p><img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/94f8cf9fd6c346e5b250d994ef1f7661.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Skript, funzioni, moduli e linguaggio PowerShell<\/h2>\n<p>\nGli script di Windows PowerShell sono conservati sotto forma di semplici file di testo con estensione .ps1. Non possono essere avviati con un doppio clic: \u00e8 necessario fare clic con il tasto destro del mouse per aprire il menu contestuale e selezionare l'opzione \u00abEsegui in PowerShell\u00bb. Dalla console bisogna specificare il percorso completo dello script oppure navigare nella cartella corrispondente e digitare il nome del file. L'esecuzione degli script \u00e8 anche limitata da una politica di sistema, e per verificare le impostazioni attuali si pu\u00f2 utilizzare il cmdlet Get-ExecutionPolicy, che restituir\u00e0 uno dei seguenti valori: <\/p>\n<p><code>Restricted<\/code> \u2014 l'esecuzione degli script \u00e8 vietata (predefinito);<br \/>\n<code>AllSigned<\/code> \u2014 \u00e8 consentita solo l'esecuzione di script firmati da uno sviluppatore affidabile;<br \/>\n<code>RemoteSigned<\/code> \u2014 \u00e8 consentita l'esecuzione di script firmati e propri;<br \/>\n<code>Unrestricted<\/code> \u2014 \u00e8 consentita l'esecuzione di qualsiasi script.<\/p>\n<p>L'amministratore ha due opzioni. La pi\u00f9 sicura prevede la firma degli script, ma \u00e8 un'operazione piuttosto complessa \u2014 ci occuperemo di questo nei prossimi articoli. Per ora, seguiamo la via di minor resistenza e modifichiamo la politica:<\/p>\n<pre><code class=\"powershell\">Set-ExecutionPolicy RemoteSigned<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/139949e0da3470b866d4b54f3e2a0498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPowerShell deve essere avviato con diritti di amministratore, anche se con un apposito parametro \u00e8 possibile modificare la politica per l'utente corrente.<\/p>\n<p>Gli script sono scritti in un linguaggio di programmazione orientato agli oggetti, le cui comandi sono denominati secondo lo stesso principio degli cmdlet precedentemente esaminati: \u00abAzione-Oggetto\u00bb (\u00abVerbo-Sostantivo\u00bb). Il suo scopo principale \u00e8 l'automazione delle attivit\u00e0 di amministrazione, ma \u00e8 un linguaggio interpretato completo, con tutte le strutture necessarie: salti condizionali, cicli, variabili, array, oggetti, gestione degli errori, ecc. Per scrivere gli script si pu\u00f2 usare qualsiasi editor di testo, ma \u00e8 pi\u00f9 comodo avviare Windows PowerShell ISE.<\/p>\n<p>\u00c8 possibile passare parametri agli script, rendendoli obbligatori e specificando valori predefiniti. Inoltre, Windows PowerShell consente di creare funzioni e richiamarle esattamente come i cmdlet: per questo si utilizza la sintassi Function e le parentesi graffe. Uno script con funzioni \u00e8 chiamato modulo ed ha estensione .psm1. I moduli devono essere conservati in cartelle definite nelle variabili d'ambiente di PowerShell. Si possono visualizzare con il seguente comando:<\/p>\n<pre><code class=\"powershell\">Get-ChildItem Env:PSModulePath | Format-Table -AutoSize<\/code><\/pre>\n<p><\/p>\n<h2>Nastri trasportatori<\/h2>\n<p>\nNell'ultimo esempio abbiamo utilizzato una struttura familiare agli utenti delle shell dei sistemi Unix. In Windows PowerShell, il carattere verticale consente anche di passare l'uscita di un comando all'ingresso di un altro, ma ci sono differenze significative nell'implementazione della pipeline: qui non si tratta di una serie di caratteri o di un testo. I cmdlet incorporati o le funzioni personalizzate restituiscono oggetti o array di oggetti e possono anche riceverli in input. Come nella Bourne shell e nei suoi numerosi successori, in PowerShell l'uso della pipeline semplifica l'esecuzione di compiti complessi.<\/p>\n<p>Un esempio semplice di pipeline appare cos\u00ec:<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/0bb6e0e00d97d23fa2384d40c7419d71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nInnanzitutto, viene eseguito il cmdlet Get-Service, poi tutti i servizi ottenuti vengono passati al cmdlet Sort-Object per essere ordinati in base alla propriet\u00e0 Status. A seconda del tipo, il risultato del segmento precedente della pipeline viene passato a un argomento specifico \u2014 di solito \u00e8 InputObject. Questo argomento sar\u00e0 trattato pi\u00f9 dettagliatamente in un articolo dedicato al linguaggio di programmazione PowerShell.\u00a0<\/p>\n<p>Se lo si desidera, \u00e8 possibile continuare la catena e passare il risultato del lavoro di Sort-Object a un altro cmdlet (verranno eseguiti da sinistra a destra). Inoltre, agli utenti di Windows \u00e8 disponibile la struttura familiare a tutti coloro che utilizzano Unix per l'output paginato:\u00a0<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status | more<\/code><\/pre>\n<p><\/p>\n<h2>Esecuzione di attivit\u00e0 in background\u00a0<\/h2>\n<p>\nSpesso \u00e8 necessario avviare un comando in background per non dover attendere il risultato dell'esecuzione nella sessione della shell. In Windows PowerShell ci sono diversi cmdlet per questi casi:<\/p>\n<p><code>Start-Job<\/code> \u2014 avvia un'attivit\u00e0 in background;<br \/>\n<code>Stop-Job<\/code> \u2014 ferma un'attivit\u00e0 in background;<br \/>\n<code>Get-Job<\/code> \u2014 visualizza l'elenco delle attivit\u00e0 in background;<br \/>\n<code>Receive-Job<\/code> \u2014 visualizza il risultato dell'esecuzione di un'attivit\u00e0 in background;<br \/>\n<code>Remove-Job<\/code> \u2014 rimuove un'attivit\u00e0 in background;<br \/>\n<code>Wait-Job<\/code> \u2014 riporta un'attivit\u00e0 in background nella console.<\/p>\n<p>Per avviare un'attivit\u00e0 in background utilizziamo il cmdlet Start-Job e nelle parentesi graffe indichiamo un comando o un insieme di comandi:<\/p>\n<pre><code class=\"powershell\">Start-Job {Get-Service}<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/0a75c1f4af75e5aec66df909ca4adb70.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nCon le attivit\u00e0 in background in Windows PowerShell si possono manipolare conoscendo i loro nomi. Iniziamo imparando a visualizzarli:<\/p>\n<pre><code class=\"powershell\">Get-Job<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/664dba26ddcfb54bef79717c86f3c8ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAdesso mostriamo il risultato dell'esecuzione dell'attivit\u00e0 Job1:<\/p>\n<pre><code class=\"powershell\">Receive-Job Job1 | more<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/02d930327929af463cf506f9d90357e6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00c8 tutto piuttosto semplice.<\/p>\n<h2>Esecuzione remota dei comandi<\/h2>\n<p>\nWindows PowerShell consente di eseguire comandi e script non solo su computer locali, ma anche su computer remoti e persino su un intero gruppo di macchine. Esistono diversi modi per farlo:<\/p>\n<ul>\n<li>Molti cmdlet hanno il parametro <code>-ComputerName<\/code>, ma in questo modo non \u00e8 possibile, ad esempio, creare una pipeline;<\/li>\n<li>Il cmdlet <code>Enter-PSSession<\/code> permette di creare una sessione interattiva su una macchina remota;\u00a0<\/li>\n<li>Con il cmdlet <code>Invoke-Command<\/code> \u00e8 possibile eseguire comandi o script su uno o pi\u00f9 computer remoti.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Versioni di PowerShell<\/h2>\n<p>\nDa quando \u00e8 stata lanciata la prima versione nel 2006, PowerShell \u00e8 cambiato notevolmente. Lo strumento \u00e8 disponibile per molti sistemi operativi che girano su diverse piattaforme hardware (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008\/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012\/2012 R2, Windows 10, Windows Server 2016, GNU\/Linux e OS X. L'ultima versione, la 6.2, \u00e8 stata rilasciata il 10 gennaio 2018. Gli script scritti per versioni precedenti funzioneranno con alta probabilit\u00e0 in versioni pi\u00f9 recenti, mentre il passaggio inverso pu\u00f2 presentare problemi a causa del gran numero di nuovi cmdlet introdotti nel corso degli anni. La versione della shell dei comandi installata sul computer pu\u00f2 essere verificata utilizzando la propriet\u00e0 PSVersion della variabile incorporata $PSVersionTable:<\/p>\n<pre><code class=\"powershell\">$PSVersionTable.PSVersion<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/c2d422d1489f88ef8631ee82cc2f60c8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00c8 possibile anche utilizzare il cmdlet:<\/p>\n<pre><code class=\"powershell\">Get-Variable -Name PSVersionTable \u2013ValueOnly<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/5cffcfe260243235e8f91a6c543191f7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLo stesso vale anche per il cmdlet Get-Host. In realt\u00e0 ci sono molte opzioni, ma per usarle \u00e8 necessario studiare il linguaggio di programmazione PowerShell, e questo sar\u00e0 il nostro argomento nella <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/490924\/\"><b>prossima articolo<\/b><\/a><\/noindex>.\u00a0<\/p>\n<h2>Conclusioni\u00a0<\/h2>\n<p>\nMicrosoft \u00e8 riuscita a creare una shell dei comandi realmente potente con un ambiente integrato comodo per lo sviluppo di script. A differenza degli strumenti che conosciamo nel mondo Unix, presenta una profonda integrazione con i sistemi operativi della famiglia Windows, cos\u00ec come con il software e la piattaforma .NET Core. PowerShell pu\u00f2 essere considerata una shell orientata agli oggetti, poich\u00e9 i cmdlet e le funzioni personalizzate restituiscono oggetti o array di oggetti e possono riceverli come input. Pensiamo che questo strumento debba essere padroneggiato da tutti gli amministratori di server su Windows: \u00e8 finito il tempo in cui potevano fare a meno della riga di comando. Una shell console avanzata \u00e8 particolarmente necessaria sui <noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/marketplace\/servercore#order\">nostri VPS economici, che girano su Windows Server Core<\/a><\/noindex>, ma questa \u00e8 un'altra storia.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Che cos&#039;\u00e8 Windows PowerShell e a cosa serve? Parte 1: funzionalit\u00e0 principali\" src=\"\/wp-content\/uploads\/2020\/03\/0683e52726ae6d7def7206e5974a74b2.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Solo gli utenti registrati possono partecipare al sondaggio. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Accedi<\/a><\/noindex>, per favore.<\/p>\n<h2 class=\"default-block__polling-title\">Quali argomenti dovremmo trattare prima nelle prossime articoli della serie?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">53,2%<\/strong>Programmazione in PowerShell123<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">42,4%<\/strong>Funzioni e moduli PowerShell98<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">22,1%<\/strong>Come firmare i propri script?51<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">12,1%<\/strong>Lavorare con gli archivi tramite i provider (providers)28<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">57,6%<\/strong>Automazione dell'amministrazione dei computer con PowerShell133<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">30,7%<\/strong>Gestione del software e integrazione dei componenti eseguibili di PowerShell in prodotti di terze parti71<\/p>\n<\/li>\n<\/ul>\n<p>    231 utenti hanno votato. 37 utenti si sono astenuti.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u0421 \u0435\u0435 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u0438\u043d\u0435\u0435 \u043e\u043a\u043e\u0448\u043a\u043e \u043a\u0430\u043a \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":72967,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-72966","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cos'\u00e8 Windows PowerShell e a cosa serve? Parte 1: principali funzionalit\u00e0 | ProHoster","description":"Storicamente, le utility della riga di comando nei sistemi Unix sono pi\u00f9 sviluppate rispetto a Windows, tuttavia con l'emergere di nuove soluzioni la situazione \u00e8 cambiata. Windows PowerShell consente agli amministratori di sistema.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-06T05:42:03+00:00","article:modified_time":"2020-03-06T05:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72966","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:42:52","updated":"2026-08-11 12:50:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/72966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=72966"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/72966\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/72967"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=72966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=72966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=72966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}