{"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":"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, gli strumenti da riga di comando nelle sistemi Unix sono stati sviluppati meglio che in Windows, tuttavia con l'introduzione di una 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 di routine. Con essa \u00e8 possibile modificare le impostazioni, fermare e avviare servizi, cos\u00ec come eseguire la manutenzione della maggior parte delle applicazioni installate. Considerare la finestra blu come un semplice interprete di comandi sarebbe fuorviante. Questo approccio non riflette la vera essenza delle innovazioni proposte da Microsoft. In realt\u00e0, le possibilit\u00e0 di Windows PowerShell sono molto pi\u00f9 ampie: in una breve serie di articoli cercheremo di comprendere come la soluzione di Microsoft si differenzi dai nostri strumenti pi\u00f9 familiari.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\"><img decoding=\"async\" alt=\"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>Funzionalit\u00e0 principali\u00a0<\/h2>\n<p>\nNaturalmente, Windows PowerShell \u00e8 prima di tutto una shell di comandi con un linguaggio di scripting, originariamente creata sulla base della piattaforma .NET Framework e successivamente su .NET Core. A differenza delle shell che accettano e restituiscono dati testuali, Windows PowerShell lavora con classi .NET che possiedono propriet\u00e0 e metodi. PowerShell consente di eseguire comandi comuni e offre anche accesso a oggetti COM, WMI e ADSI. Utilizza vari archivi, come il file system o il registro di Windows, ai quali si accede tramite cosiddetti provider. \u00c8 interessante notare la possibilit\u00e0 di incorporare componenti eseguibili di PowerShell in altre applicazioni per eseguire operazioni varie, anche tramite interfaccia grafica. Vale anche l'inverso: molte applicazioni per Windows forniscono accesso alle proprie interfacce di gestione tramite PowerShell.\u00a0<\/p>\n<p>Windows PowerShell consente:<\/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 l'automazione dei compiti di amministrazione;<\/li>\n<li>Lavorare con il file system, il registro di Windows, il portafoglio dei certificati, ecc.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Interfaccia a riga di comando e ambiente di sviluppo<\/h2>\n<p>\nEsistono due versioni di Windows PowerShell: oltre all'emulatore della console con interfaccia a riga di comando, c'\u00e8 un ambiente di scripting integrato (Integrated Scripting Environment - ISE). Per accedere all'interfaccia a riga di comando, basta selezionare l'apposito collegamento nel menu di Windows o avviare powershell.exe dal menu Esegui. Sullo schermo apparir\u00e0 una finestra blu, che si distingue notevolmente per le possibilit\u00e0 rispetto al vetusto cmd.exe. Qui ci sono il completamento automatico e altre funzionalit\u00e0 familiari agli utenti delle shell di comando dei sistemi Unix.<\/p>\n<p><img decoding=\"async\" alt=\"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 lavorare con 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 digitati in precedenza;<\/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 digitato dalla posizione del cursore all'inizio della riga;<\/li>\n<li>Ctrl+End elimina il testo dal cursore alla fine della riga.<\/li>\n<\/ul>\n<p>\nF7 mostra una finestra con i comandi inseriti e consente di scegliere uno di essi. In console, \u00e8 inoltre possibile selezionare il testo con il mouse, copiare e incollare, posizionare il cursore, eliminare e utilizzare il backspace \u2014 tutto come piace a noi.<\/p>\n<p><img decoding=\"async\" alt=\"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 meraviglie per programmatori. Se nel editor dell'ambiente di sviluppo scrivi un segno di meno dopo il nome del comando, otterrai nella lista a discesa tutte le opzioni disponibili indicate con il tipo. Puoi avviare PowerShell ISE tramite un collegamento nel menu di sistema o tramite il file eseguibile powershell_ise.exe.<\/p>\n<p><img decoding=\"async\" alt=\"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. Queste sono classi specializzate di .NET, che incorporano diverse funzionalit\u00e0. Sono nominati secondo il principio \"Azione-Oggetto\" (o \"Verbo-Sostantivo\", se preferite), e la loro connessione tramite un trattino ricorda il soggetto e il predicato nelle frasi delle lingue naturali. Ad esempio, Get-Help significa letteralmente \"Ottieni-Aiuto\" o, nel contesto di PowerShell: \"Mostra-Guida\". Di fatto, rappresenta l'equivalente del comando man nei sistemi Unix, e le guide in PowerShell devono essere richieste in questo modo, invece di invocare i cmdlet con l'opzione \u2014help o \/?... Non dimenticate la documentazione online di PowerShell: quella di Microsoft \u00e8 abbastanza dettagliata.<\/p>\n<p>Oltre a Get, nei cmdlet vengono utilizzati anche altri verbi (e non solo verbi, a dire il vero) per indicare azioni. Nella lista qui sotto presenteremo alcuni esempi:<\/p>\n<p><code>Add<\/code> \u2014 aggiungere;<br \/>\n<code>Pulisci<\/code> \u2014 pulire;<br \/>\n<code>Enable<\/code> \u2014 attivare;<br \/>\n<code>Disable<\/code> \u2014 disattivare;<br \/>\n<code>Nuovo<\/code> \u2014 creare;<br \/>\n<code>Remove<\/code> \u2014 eliminare;<br \/>\n<code>Set<\/code> \u2014 impostare;<br \/>\n<code>Inizia<\/code> \u2014 avviare;<br \/>\n<code>Stop<\/code> \u2014 fermare;<br \/>\n<code>Esportazione<\/code> \u2014 esportare;<br \/>\n<code>Import<\/code> \u2014 importare.<\/p>\n<p>Ci sono cmdlet di sistema, cmdlet utente e cmdlet opzionali: come risultato dell'esecuzione, tutti restituiscono un oggetto o un array di oggetti. Non sono sensibili al maiuscolo e minuscolo, ovvero, dal punto di vista dell'interprete dei comandi, non c'\u00e8 differenza tra Get-Help e get-help. Il simbolo \u2018;\u2019 viene utilizzato per la separazione, ma deve essere inserito solo se in una riga vengono eseguiti pi\u00f9 cmdlet.\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 esiste il cmdlet Get-Command. Per mostrare la guida su di esso, si pu\u00f2 fare cos\u00ec:<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 visualizza una guida breve, ma ai cmdlet possono essere passati parametri (argomenti) se necessario. Con questi \u00e8 possibile, ad esempio, ottenere una guida dettagliata (parametro -Detailed) o completa (parametro -Full), cos\u00ec come mostrare esempi sullo schermo (parametro -Examples):<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command -Examples<\/code><\/pre>\n<p>\nLa guida in Windows PowerShell viene aggiornata con il cmdlet Update-Help. Se la riga di comando diventa troppo lunga, \u00e8 possibile continuare gli argomenti del cmdlet sulla riga successiva scrivendo il carattere di continuazione \u2018`\u2019 e premendo Invio; non \u00e8 possibile semplicemente finire di scrivere il comando in una riga e continuare su un'altra.<\/p>\n<p>Di seguito sono riportati alcuni esempi di cmdlet comuni:\u00a0<\/p>\n<p><code>Get-Process<\/code> \u2014 mostra i processi attivi nel sistema;<br \/>\n<code>Get-Service<\/code> \u2014 mostra i servizi e il loro stato;<br \/>\n<code>Get-Content<\/code> \u2014 visualizza il contenuto di un file.<\/p>\n<p>Per i cmdlet e le utility esterne pi\u00f9 utilizzati, in Windows PowerShell ci sono sinonimi abbreviati \u2014 alias. Ad esempio, dir \u00e8 un alias di Get-ChildItem. Nella lista degli alias ci sono anche i corrispondenti dei comandi delle sistemi Unix (ls, ps, ecc.), e il cmdlet Get-Help viene richiamato con il comando help. Puoi visualizzare l'elenco completo degli alias usando il cmdlet Get-Alias:<\/p>\n<p><img decoding=\"async\" alt=\"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>Script, funzioni, moduli e il linguaggio PowerShell<\/h2>\n<p>\nGli script di Windows PowerShell sono memorizzati come normali file di testo con estensione .ps1. Non possono essere avviati con un doppio clic: \u00e8 necessario fare clic con il tasto destro per aprire il menu contestuale e selezionare l'opzione \"Esegui in PowerShell\". Dalla console, \u00e8 necessario indicare il percorso completo dello script oppure navigare nella directory corrispondente e digitare il nome del file. L'esecuzione degli script \u00e8 inoltre limitata dalla politica di sistema, e per verificare le impostazioni correnti \u00e8 possibile 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 (impostazione predefinita);<br \/>\n<code>AllSigned<\/code> \u2014 \u00e8 consentita solo l'esecuzione di script firmati da uno sviluppatore fidato;<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 processo piuttosto complesso; ci occuperemo di questo in articoli successivi. Ora seguiamo il percorso di minor resistenza e cambiamo la politica:<\/p>\n<pre><code class=\"powershell\">Set-ExecutionPolicy RemoteSigned<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 come amministratore, anche se \u00e8 possibile modificare la politica per l'utente corrente utilizzando un parametro specifico.<\/p>\n<p>Gli script sono scritti in un linguaggio di programmazione orientato agli oggetti, le cui istruzioni seguono lo stesso principio delle cmdlet precedentemente esaminate: \"Azione-Oggetto\" (\"Verbo-Sostantivo\"). Il suo scopo principale \u00e8 l'automazione delle attivit\u00e0 di amministrazione, ma \u00e8 un linguaggio interpretato completo, che include tutte le strutture necessarie: istruzioni condizionali, cicli, variabili, array, oggetti, gestione degli errori, ecc. \u00c8 possibile utilizzare qualsiasi editor di testo per scrivere scenari, ma \u00e8 pi\u00f9 comodo utilizzare Windows PowerShell ISE.<\/p>\n<p>Nello script \u00e8 possibile passare parametri, renderli obbligatori e impostare valori predefiniti. Inoltre, Windows PowerShell consente di creare funzioni e di chiamarle proprio come i cmdlet: a tale scopo si utilizza la struttura Function e le parentesi graffe. Uno script con funzioni si chiama modulo e ha l'estensione .psm1. I moduli devono essere memorizzati nelle directory definite nelle variabili d'ambiente di PowerShell. \u00c8 possibile visualizzarli utilizzando il seguente comando:<\/p>\n<pre><code class=\"powershell\">Get-ChildItem Env:PSModulePath | Format-Table -AutoSize<\/code><\/pre>\n<p><\/p>\n<h2>Pipeline<\/h2>\n<p>\nNell'ultimo esempio abbiamo applicato una struttura ben nota agli utenti delle shell nei sistemi Unix. In Windows PowerShell, il pipe consente anche di passare l'output di un comando come input a un altro, ma nella realizzazione della pipeline c'\u00e8 una differenza sostanziale: si tratta non solo di una serie di caratteri o di un testo. I cmdlet incorporati o le funzioni utente restituiscono oggetti o array di oggetti e possono anche riceverli come input. Come nella Bourne shell e nei suoi numerosi successori, in PowerShell, l'utilizzo della pipeline semplifica l'esecuzione di compiti complessi.<\/p>\n<p>Il pi\u00f9 semplice esempio di pipeline \u00e8 il seguente:<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 \/>\nInizialmente viene eseguito il cmdlet Get-Service, e poi tutti i servizi ottenuti vengono passati al cmdlet Sort-Object per essere ordinati in base alla propriet\u00e0 Status. L'argomento a cui viene passato il risultato della fase precedente dipende dal suo tipo \u2014 di solito \u00e8 InputObject. Maggiori dettagli saranno trattati in un articolo dedicato al linguaggio di programmazione PowerShell.\u00a0<\/p>\n<p>Se desiderato, \u00e8 possibile continuare la catena e passare il risultato di Sort-Object a un altro cmdlet (verranno eseguiti da sinistra a destra). A proposito, agli utenti Windows \u00e8 disponibile anche la consueta struttura familiare per la visualizzazione pagina per pagina:\u00a0<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status | more<\/code><\/pre>\n<p><\/p>\n<h2>Esecuzione di compiti in background\u00a0<\/h2>\n<p>\nSpesso \u00e8 necessario eseguire un comando in background, in modo da non dover attendere il risultato dell'esecuzione nella sessione della shell. In Windows PowerShell ci sono diversi cmdlet per questo scopo:<\/p>\n<p><code>Start-Job<\/code> \u2014 avvio di un'attivit\u00e0 in background;<br \/>\n<code>Stop-Job<\/code> \u2014 arresto di un'attivit\u00e0 in background;<br \/>\n<code>Get-Job<\/code> \u2014 visualizzazione dell'elenco delle attivit\u00e0 in background;<br \/>\n<code>Receive-Job<\/code> \u2014 visualizzazione del risultato dell'attivit\u00e0 in background;<br \/>\n<code>Remove-Job<\/code> \u2014 rimozione di un'attivit\u00e0 in background;<br \/>\n<code>Wait-Job<\/code> \u2014 ripristino di un'attivit\u00e0 in background nella console.<\/p>\n<p>Per avviare un'attivit\u00e0 in background utilizziamo il cmdlet Start-Job e specifichiamo il comando o il set di comandi tra parentesi graffe:<\/p>\n<pre><code class=\"powershell\">Start-Job {Get-Service}<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 \/>\nPuoi manipolare le attivit\u00e0 in background in Windows PowerShell conoscendo i loro nomi. Iniziamo a imparare come visualizzarle:<\/p>\n<pre><code class=\"powershell\">Get-Job<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 \/>\nOra mostriamo i risultati dell'attivit\u00e0 Job1:<\/p>\n<pre><code class=\"powershell\">Receive-Job Job1 | more<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 un computer locale, ma anche su un computer remoto e persino su un intero gruppo di macchine. Ci sono 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 un pipeline;<\/li>\n<li>Il cmdlet <code>Enter-PSSession<\/code> consente di creare una sessione interattiva su una macchina remota;\u00a0<\/li>\n<li>Utilizzando 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>\nDal suo primo rilascio nel 2006, PowerShell ha subito numerosi cambiamenti. Lo strumento \u00e8 disponibile per una vasta gamma di sistemi operativi 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, 6.2, \u00e8 stata rilasciata il 10 gennaio 2018. Gli script scritti per versioni precedenti funzioneranno con alta probabilit\u00e0 su versioni successive, mentre il contrario pu\u00f2 presentare problemi, poich\u00e9 nel corso degli anni PowerShell ha introdotto un gran numero di nuovi cmdlet. Puoi scoprire la versione della shell di comandi installata sul computer utilizzando la propriet\u00e0 PSVersion dell variabile integrata $PSVersionTable:<\/p>\n<pre><code class=\"powershell\">$PSVersionTable.PSVersion<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 utilizzare anche il cmdlet:<\/p>\n<pre><code class=\"powershell\">Get-Variable -Name PSVersionTable \u2013ValueOnly<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"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 \/>\nLa stessa operazione pu\u00f2 essere eseguita utilizzando il cmdlet Get-Host. In realt\u00e0, ci sono molte opzioni, ma per utilizzarle \u00e8 necessario studiare il linguaggio di programmazione PowerShell, cosa di cui ci occuperemo nella <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/490924\/\"><b>prossima articolo<\/b><\/a><\/noindex>.\u00a0<\/p>\n<h2>Risultati\u00a0<\/h2>\n<p>\nMicrosoft \u00e8 riuscita a creare una shell di comando davvero potente con un ambiente integrato per lo sviluppo di script. A differenza degli strumenti a cui siamo abituati 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 definito una shell orientata agli oggetti, poich\u00e9 i cmdlet e le funzioni personalizzate restituiscono oggetti o array di oggetti e possono riceverli in input. Riteniamo che questo strumento debba essere padroneggiato da tutti gli amministratori di server Windows: \u00e8 passato il tempo in cui potevano fare a meno della linea di comando. Una console avanzata \u00e8 particolarmente necessaria sui <noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/marketplace\/servercore#order\">nostri VPS economici che funzionano con 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=\"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 affrontare per primi nei prossimi articoli del ciclo?<\/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 i repository tramite i fornitori (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>Automatizzazione 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 PowerShell in prodotti di terzi71<\/p>\n<\/li>\n<\/ul>\n<p>    Hanno votato 231 utenti. 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.0.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.0.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\udd47Che cos'\u00e8 Windows PowerShell e come si usa? Parte 1: funzionalit\u00e0 principali | ProHoster","description":"Storicamente, gli strumenti da linea di comando nei sistemi Unix sono stati sviluppati meglio rispetto a Windows, tuttavia con l'arrivo 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}]}}