Passa ai contenuti principali

Windows PowerShell è una shell caratterizzata dall'interfaccia a riga di comando (CLI) e da un linguaggio di scripting.

powershell_2Windows PowerShell, noto precedentemente come Microsoft Shell o MSH (o col nome in codice Monad) è una shell caratterizzata dall'interfaccia a riga di comando (CLI) e da un linguaggio di scripting, sviluppata da Microsoft.
È basato sulla programmazione a oggetti e sul framework Microsoft .NET.

Windows PowerShell 1.0 è disponibile per il download dal sito web Microsoft.

Microsoft intendeva in origine rilasciare PowerShell insieme con Windows Vista, ma in seguito ha definito delle date di rilascio diverse per PowerShell. Windows PowerShell costituisce la base dell'interfaccia amministrativa per Microsoft Exchange Server 2007 dove qualsiasi operazione è svolta tramite riga di comando e l'interfaccia GUI è posizionata su uno strato superiore a detti comandi.

PowerShell necessita della versione 2.0 del .NET Framework ed è supportato su Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 e Windows 7 disponibile nelle edizioni x86, x64 ed Itanium. Era presente in versione 2 su Windows 7 dal quale non è disinstallabile. Sebbene non sia tecnicamente impossibile installare Powershell su Windows2000/2000_Server (previa installazione del framework) questa è sconsigliata e assolutamente non è garantito alcun funzionamento o rispondenza alle aspettative.
Windows_PowerShell_1.0_PD
Ogni rilascio di MS-DOS e Microsoft Windows ha sempre incorporato un'Interfaccia a riga di comando: command.com nelle versioni basate su MS-DOS, cmd.exe in quelle basate su Windows NT: non erano, però, in grado di riprodurre, o di automatizzare tutte le funzioni amministrative disponibili tramite GUI, sebbene la situazione sia migliorata con Windows Server 2003. Ciò era dovuto ad una combinazione di limitazioni intrinseche agli strumenti equivalenti a riga di comando o al fatto che Microsoft non ha fornito, per lungo tempo, utility affidabili di questo tipo.

Inoltre, a differenza degli ambienti Unix, né command.com né cmd.exe rispettano lo standard POSIX.2. Services for UNIX include una pdksh che rispetta tale standard, ma sia questa che altre shell UNIX che sono disponibili non sono in grado di compiere molti compiti di routine, che restano legati all'interfaccia grafica di Windows. Sebbene la suite di servizi per UNIX faccia ora parte di Windows Server 2003 R2, e sarà inclusa in alcune edizioni di Windows Vista, essa era, in passato, resa disponibile come componente aggiuntivo a pagamento (ad esempio il resource kit di Windows 2000), cosa che ne impedì l'adozione su larga scala.

Gli utenti sono stati allontanati dalla mancanza di documentazione adeguata delle funzionalità a riga di comando. Per contro, molte applicazioni grafiche in Unix sono solo wrapper per tool a riga di comando, che sono corredati di documentazione.
PowerShellSkinnedLikeVista
Microsoft tentò di porre rimedio ad alcune di queste limitazioni introducendo Windows Script Host nel 1998, in concomitanza col rilascio di Windows 98. Si trattava di un nuovo livello di scripting che poteva implementare un buon numero di linguaggi di scripting per controllare le applicazioni. Tuttavia, lo Script Host aveva anche significative limitazioni: non era integrato con la shell, la sua documentazione non era molto accessibile, e fu presto considerato un pericolo per la sicurezza del sistema, dopo che diversi virus misero in luce la debolezza sostanziale del suo modello di sicurezza.
Windows Server 2003 e alcune versioni di Windows XP includono un host per script a riga di comando denominato Cscript.exe (si tratta, essenzialmente, di una porzione autonoma del Windows Script Host di cui sopra), non integrato con la shell preesistente (cmd.exe). Questi sistemi operativi forniscono anche altre righe di comando ad hoc (ad esempio netsh), anch'esse non del tutto integrate.
Una limitazione fondamentale all'automatizzazione dei task in Windows era il fatto che le sue interfacce di amministrazione native erano aperte ai tool grafici proprietari di Microsoft, e ad ogni interfaccia di script che Microsoft poteva scegliere di fornire. Poiché la GUI costituiva l'interfaccia primaria, risultava difficile fornire "wrapper" in grado di essere inseriti in script - una situazione che è esattamente agli antipodi di quella della maggior parte delle implementazioni di UNIX, in cui una riga di comando in grado di eseguire degli script forniva le funzionalità base.

Microsoft progettò PowerShell per rendere meno insormontabili questi problemi, e per rendere meno oneroso il processo di sviluppo di nuove applicazioni grafiche ed a riga di comando integrando un linguaggio di scripting più sicuro in un nuova shell di comando estendibile, che fosse in grado di svolgere ed automatizzare gli stessi compiti amministrativi fondamentali che vengono svolti tramite interfaccia grafica in Windows. L'interfaccia utente di gestione di Exchange Server 2007, per esempio, si basa su PowerShell. Nella maggior parte dei compiti di tutti i giorni, PowerShell può sostituire cmd.exe e Windows Script Host (WSH). Tuttavia, per motivi di retrocompatibilità, sia cmd.exe che WSH continueranno ad essere supportati da Windows. Microsoft si è impegnata a costruire i tool grafici del futuro sopra PowerShell, assicurandosi che le funzionalità amministrative di base continuino ad essere utilizzabili tramite riga di comando, sulla falsariga di un sistema operativo Unix.
Microsoft ha pubblicato la seconda beta pubblica di "Monad" l'11 settembre 2005, mentre la terza è stata rilasciata il 10 gennaio 2006.

Microsoft ha annunciato il 25 aprile 2006 che WSH avrebbe cambiato nome in Windows PowerShell, e sarebbe divenuta una parte significativa della sua offerta di strumenti di gestione del sistema[1].
La prima release candidate di PowerShell è stata rilasciata contestualmente all'annuncio. La seconda release candidate è stata rilasciata il 26 settembre 2006. La versione 1.0 è stata rilasciata il 14 novembre 2006. La versione 2.0 è presente di serie su Windows 7. La versione 3.0, disponibile per Windows 7 SP1 e Windows 2008 Server R2 SP1 è di serie su Windows 8 e Windows Server 2012, come parte del più campio Windows Management Framework V3, di cui fa parte anche WinRM.
PowerShell Progress
Il nome in codice di PowerShell, Monad, proviene dalla monadologia di Gottfried Leibniz, una filosofia in cui l'universo è composto da elementi fondamentali, le monadi, disposti in una "armonia prestabilita". In maniera simile, PowerShell è la combinazione di compiti complessi e di una serie di componenti, le cmdlets (command lets, serie di comandi), che sono classi .NET progettate per sfruttare le caratteristiche dell'ambiente. La differenza fondamentale tra l'approccio Unix e quello di PowerShell risiede nel fatto che piuttosto che creare una "pipeline" (lett. tubo) basata su input ed output testuali, PowerShell fa passare i dati da una cmdlet all'altra come oggetti (dati dotati di una struttura ben precisa).

L'output di una cmdlet, se si tenta di accedervi tramite riga di comando, viene automaticamente convertito in testo; se, invece, si tenta di utilizzarlo in un'altra cmdlet, esso verrà convertito nell'oggetto più appropriato per l'input di quell'altra cmdlet. In questo modo, varie utility comunemente utilizzate nelle pipelines Unix, quali grep ed awk, non sono più necessarie, e si permette una combinazione interattiva o in un ambiente di scripting dei singoli elementi, cosa che avrebbe, diversamente, richiesto un linguaggio di programmazione più complesso. Per esempio, una lista dei processi in esecuzione non sarà costituita dal testo che li descrive, ma dagli oggetti che la compongono, sicché è possibile invocare metodi su questi oggetti senza far esplicito riferimento ad alcuna struttura o libreria.

Caratteristiche.
    Linguaggio di scripting simile al C#, con molte funzionalità dedicate agli utenti esperti, come il supporto diretto alle hashtable, i costrutti switch basati su espressioni regolari, la scomposizione degli array, la possibilità di memorizzare come dati metodi anonimi da eseguire in un secondo momento. Sono presenti, naturalmente, tutte le caratteristiche che ci si aspetta di trovare in un linguaggio di scripting, quali l'iterazione (for/foreach/while), i costrutti condizionali (if/switch), i campi di visibilità delle variabili (global/script/local/private) e la possibilità di definire funzioni.

    Tutte le cmdlet ereditano alcune caratteristiche, cosa che permette all'utente di scegliere, ad esempio, il livello di interazione e la modalità di gestione degli errori; si consideri, come esempio, la "sospensione", che permette di entrare in una nuova shell di comando, indagare su un problema, e quindi continuare con il comando originale. Al programmatore viene fornito un semplice meccanismo integrato per definire le richieste da mostrare in situazioni del genere. Le cmdlet che restituiscono qualcosa all'esterno supportano le opzioni -WHATIF e -CONFIRM. -WHATIF simula l'esecuzione della procedura, comunicandone il possibile esito all'utente. -CONFIRM informa l'utente su ciò che sta per accadere e gli permette di decidere cosa fare.

    Un modello provider estendibile fornisce la possibilità di accedere e manipolare non solo il file system, ma anche altre strutture dati gerarchiche. Ad esempio, PowerShell integra un provider per il Registro di Windows che consente l'accesso agli alberi "HKLM" (HKEY_LOCAL_MACHINE) e "HKCU" (HKEY_CURRENT_USER). In questo modo, il registro può essere visualizzato con comandi quali "dir HKLM:\SOFTWARE\Microsoft" dal prompt della shell. PowerShell fornisce provider per la libreria di certificati di sicurezza, le variabili d'ambiente e di shell, le funzioni e gli alias; gli utenti possono creare loro propri provider e integrarli in PowerShell.

    Le opzioni della riga di comando sono, in genere, parole intere, ma è possibile farvi riferimento più velocemente, specificando solo il numero minimo di lettere necessario a distinguerle dalle altre (ad esempio, l'opzione -mostra-informazioni-dettagliate può essere richiamata specificando solo -m se nessun'altra opzione comincia per 'm').

    Completamento automatico dei comandi estendibile dall'utente. Si pensi che cmd.exe nelle versioni recenti di Windows può solo completare i nomi di file e directory, a differenza di ciò che accade in shell quali bash e zsh.

    Possibilità di assegnare l'output di un comando ad una variabile, che diventa un oggetto o un array di oggetti visualizzabile in qualunque maniera si desideri.
iControlPowerShell

 
 
Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

Commenti

nome-foto

Posts piú popolari

Perché è necessario tanto tempo per installare Office in Windows 10?

I problemi riscontrati quando si prova a installare Office 2016 o Office 2013 e le relative correzioni variano a seconda che il prodotto sia incluso in un piano Office per utenti privati o Office per le aziende. Inoltre, con i piani Office per le aziende, solo gli amministratori responsabili della gestione di Office 365 nell'organizzazione possono eseguire alcune attività. Quindi, gli amministratori devono visualizzare i problemi e le soluzioni elencati nelle schede Office per le aziende e Amministrazione di Office 365. Se viene visualizzato il messaggio di errore La connessione è lenta, potrebbe volerci qualche minuto oppure se l'installazione di Office richiede tempi molto lungi o sembra bloccarsi, è consigliabile annullare l'installazione e quindi provare con alcune procedure seguenti. L'installazione di Office impiega molto tempo. Contenuto del post: [ hide ] Si ha una stampante HP 4500 o HP 8500 OfficeJet e si installa Office o Office 365? In questo caso,

Domande frequenti su Microsoft Defender SmartScreen: Come posso disabilitare Microsoft Defender SmartScreen?

 Come posso disabilitare Microsoft Defender SmartScreen? In Windows Internet Explorer 7 scegliere Filtro anti-phishing dal menu Strumenti, quindi fare clic su Disattiva Controllo automatico sito Web. Nella finestra di dialogo visualizzata selezionare Disattiva filtro anti-phishing automatico, quindi fare clic su OK. In Windows Internet Explorer 8 scegliere Filtro SmartScreen dal menu Sicurezza, quindi fare clic su Disattiva filtro SmartScreen. Nella finestra di dialogo visualizzata selezionare Disattiva filtro SmartScreen, quindi fare clic su OK. In Windows Internet Explorer 9 e 10 fare clic sul pulsante Strumenti, scegliere Sicurezza, quindi fare clic su Disattiva filtro SmartScreen. Nella finestra di dialogo visualizzata selezionare Disattiva filtro SmartScreen, quindi fare clic su OK. In Microsoft Edge, fai clic su ..., quindi impostazioni, Visualizza impostazioni avanzate e attiva/disattiva Proteggi la protezione da siti dannosi e download con Microsoft Defender SmartScreen per off

Opzioni di avvio avanzate in Windows 7.

Il menu Opzioni di avvio avanzate consente di avviare Windows in modalità avanzate della risoluzione dei problemi. Per accedere al menu, è possibile accendere il computer e premere F8 prima dell'avvio di Windows . Alcune opzioni, ad esempio la modalità provvisoria, consentono di avviare Windows in uno stato limitato, che prevede solo le funzionalità minime. Se un problema non si ripresenta dopo l'avvio in modalità provvisoria, significa che le impostazioni predefinite e i driver di dispositivo minimi funzionano correttamente. Altre opzioni consentono di avviare Windows con funzionalità avanzate destinate agli amministratori di sistema e ai professionisti IT. Per ulteriori informazioni, visitare il sito Web Microsoft per i professionisti IT . Ripristina il computer. Visualizza un elenco di strumenti di ripristino del sistema che è possibile utilizzare per riparare i problemi relativi all'avvio, eseguire la diagnostica o ripristinare il

Come scaricare legalmente Windows e Office dai server ufficiali senza product key.

Una volta scaricare Windows era semplice grazie al partner di Microsoft DigitalRiver che forniva dei link diretti per il download delle iso di Windows. Purtroppo questi collegamenti furono rimossi e l’unico modo per scaricare Windows originale era passare attraverso i media creation tools forniti da Microsoft. Questi permettevano di prelevare l’immagine del sistema operativo solo dopo aver inserito un codice di licenza originale. Oggi la situazione è cambiata, infatti ora vedremo come riuscire a scaricare LEGALMENTE la ISO di Windows nella versione che vogliamo (10, 8.1, 7) senza dover fornire nessuna licenza. Allo stesso modo potremo scaricare tutte le versioni di Office (2007, 2010, 2011, 2013, 2016). Tutto questo è possibile grazie ad un programma non ufficiale sviluppato da HeiDoc.net che permette di selezionare e scaricare dai server ufficiali di Microsoft la versione di Windows e Office che desideriamo. Il programma che verrà mostrato in questo articolo permette di scaric

10 consigli per velocizzare Windows 7.

Windows 7 è certamente un sistema operativo molto veloce e sicuro però, come per tutti i sistemi operativi, è possibile ottimizzarlo al meglio per farlo diventare ancora più veloce . Ecco qualche consiglio: 1. Ottimizzare il Registro di Sistema: L’ottimizzazione del registro è essenziale per avere un pc potente e veloce. Per far ciò provate questo programmino. Basta estrarre il file ZIP, lanciarlo e poi riavviare il pc. Consiglio di effettuare il backup del registro prima di effettuare questa operazione. 2. Disattivare tutti gli effetti visivi inutili: Gli effetti visivi di Windows 7 rallentano molto il sistema operativo. Per questo è consigliato, per aumentare la velocità, disattivare quelli inutili. Naturalmente ciò toglie alla grafica un po’ della sua bellezza. Per disattivarli cliccate sull’icona Computer poi andate in Properties – Advanced – Settings (quello compreso in Performance). Ora disattivate gli effetti visivi inutili, lasciando selezionati solo quelli che v