Windows PowerShell Screenshot di una sessione di PowerShell.
Sviluppato da | Microsoft |
---|---|
Prima versione | 14 novembre 2006 |
Ultima versione | 7.1.3 (11 marzo 2021) |
Depositare | github.com/PowerShell/PowerShell |
Garanzia di qualità | Integrazione continua |
Scritto in | VS # |
Sistema operativo | Microsoft Windows , Windows Server , Ubuntu , Debian , CentOS , Red Hat Enterprise Linux , OpenSUSE , Fedora , Arch Linux e macOS |
Ambiente | .NET Framework |
genere |
Linguaggio della riga di comando ( d ) Linguaggio interpretato Interfaccia di sistema Interfaccia della riga di comando Applicazione console ( en ) Linguaggio di script |
Licenza | Licenza MIT |
Sito web | PowerShell |
Windows PowerShell , in precedenza Microsoft Command Shell ( MSH ), nome in codice Monad , è una suite software sviluppata da Microsoft che include un'interfaccia a riga di comando , un linguaggio di scripting chiamato PowerShell e un kit di sviluppo . E 'incluso nel Windows 7 , di Windows 8.1, e di Windows 10 (comprese le versioni consumer) ed è costruito sul Microsoft .NET framework .
Windows PowerShell è il successore delle interfacce della riga di comando DOS / Windows fornite da
Possiamo anche citare Windows Scripting Host (WSH), introdotto nel 1998, che ha avuto un certo successo con gli amministratori ma non ne consente l'utilizzo interattivo: gli script possono essere richiamati dalla riga di comando, ma devono essere preventivamente salvati in un file. Nessuna di queste interfacce è conforme a POSIX 2 (POSIX è uno standard creato per le shell Unix che non sono orientate agli oggetti ma piuttosto un flusso di testo da scomporre e interpretare).
In origine, l'ambiente Windows PowerShell doveva essere incluso in Windows Vista , ma alla fine i due software sono stati separati. Microsoft ha rilasciato una versione beta su11 settembre 2005, una release candidate 1 su25 aprile 2006e una release candidate 2 in poi26 settembre 2006. La versione finale è stata rilasciata il14 novembre 2006. Windows PowerShell è incluso anche in Microsoft Exchange Server 2007, rilasciato nel quarto trimestre del 2006, così come nella maggior parte dei prodotti Microsoft rilasciati da allora.
Windows PowerShell è compatibile con tutte le versioni di Windows che supportano la versione 2.0 di .NET.
Da 24 marzo 2009, Windows PowerShell 1.0 per Windows XP e Vista è distribuito come aggiornamento software opzionale dal servizio Windows Update di Microsoft. È nativamente integrato in Windows 7 nella versione 2.0. Questa versione offre una console di editor di script integrata chiamata Windows PowerShell ISE (per ambiente di scripting integrato in inglese) che fornisce una soluzione sostitutiva allo strumento PowerGUI Script Editor sviluppato da Quest Software . Come la sua controparte, Windows PowerShell ISE offre un ambiente grafico che consente la modifica degli script con evidenziazione della sintassi, visualizzazione dei numeri di riga, debugger integrato e guida in linea.
A partire da Windows 8 , PowerShell ha un posto più pronunciato all'interno del sistema operativo con un collegamento in tutte le finestre di Esplora file , nel menu File.
Il nome in codice Monad deriva dal libro Monadologie del filosofo Leibniz dove afferma che la realtà è costituita da elementi fondamentali chiamati monadi , che si integrano in un'armonia prestabilita.
Allo stesso modo, Windows PowerShell è costituito da una serie di attività eseguite da una serie di componenti. Nel caso presente, questi componenti sono chiamati commandlet (abbreviati in cmdlet nella console di comando), si incontrano anche le commandelettes dell'anglicismo .
PowerShell | ||
Data della prima versione | 2006 | |
---|---|---|
Paradigma | Multi-paradigma : imperativo , orientato agli oggetti , funzionale e riflessivo | |
Autore | Jeffrey Snover , Bruce Payette , James Truher (et al.) | |
Sviluppatore | Microsoft Corporation | |
Ultima versione | 7.1.3 (11 marzo 2021) | |
Digitando | Forte , sicuro , implicito e dinamico | |
Influenzato da | C # , DCL, ksh , Perl , Ruby , Lisp , CL, SQL , Prompt dei comandi , Tcl | |
Scritto in | VS # | |
Sistema operativo | Microsoft Windows | |
Licenza | Licenza MIT | |
Sito web | microsoft.com/powershell | |
PowerShell è un linguaggio di scripting basato sulla programmazione orientata agli oggetti . Il software PowerShell ( file eseguibile powershell.exe ) è l' interprete dell'interfaccia della riga di comando per l' ambiente di sviluppo Windows PowerShell.
L'ambiente Windows PowerShell non solo offre una suite di controlli del sistema di amministrazione e gestione come potrebbe essere un particolare predecessore di shell command.com con file batch , ma è anche un interprete per oggetti orientati al linguaggio di scripting .
I comandi PowerShell sono costituiti da una parola o da un prefisso di nome e separati da un trattino . Possono essere seguiti da parametri. Sono chiamati commandlet per applet di comando in inglese o frasi in francese . Nell'interfaccia della riga di comando sono abbreviati come cmdlet . A volte incontriamo l'anglicismo delle commandelettes .
L'uso di istruzioni strutturate come frasi facilita la memorizzazione di un gran numero di comandi. Questa funzionalità è tuttavia limitata, in quanto si applica solo a persone che hanno un minimo di vocabolario inglese.
Esempio:
PS C:\> Get-HelpQuesta frase che letteralmente significa in francese "Get-Help" mostrerà la guida di PowerShell dopo averla convalidata con il tasto Invio nella console di comando.
Il prefisso della commandelette è chiamato verbo sebbene non sia sempre uno. È così chiamato perché determina l'azione da intraprendere sulle entità designate nella frase.
Elenco dei verbiFondamentalmente influenzato dal linguaggio Tcl , PowerShell è più vicino a linguaggi di scripting come Perl che a linguaggi shell come Bash . Non c'è alcuna somiglianza tra PowerShell e il linguaggio batch dei file .BAT DOS / Windows.
L'obiettivo di Microsoft è creare un linguaggio di scripting completamente integrato, con tante funzionalità quante sono quelle che esistono sotto Unix (e Linux ) e con lo stesso livello di sicurezza.
D'altra parte, gli scambi tra i componenti avvengono sotto forma di oggetti e non di testo:
PowerShell (cmdlet) | PowerShell (alias) | CMD.EXE / COMMAND.COM | Shell Unix | Descrizione |
---|---|---|---|---|
Get-ChildItem | gci, dir, ls | dir | ls , dir | Elenca i file / directory della directory (corrente) |
Get-Content | gc guy cat | genere | gatto | Ottieni il contenuto di un file |
Get-Command | gcm | Aiuto | aiuto , quale | Elenco dei comandi |
Ottenere aiuto | aiutare l'uomo | Aiuto | uomo | Aiuto |
Clear-Host | cls, cancella | cls | chiaro | Schermo pulito |
Copia-oggetto | cpi, copia, cp | copia | cp | Copia uno o più file / l'intera struttura ad albero |
Sposta oggetto | mi, sposta, mv | mossa | mv | Sposta un file / directory |
Rimuovi oggetto | ri, del, cancella, rmdir, rd, rm | del, deltree , erase, rmdir , rd | rm , rmdir | Elimina un file / directory |
Rinomina elemento | rni, ren, mv | ren , rinomina | mv | Rinomina un file / directory |
Ottieni posizione | gl, pwd | CD | pwd | Visualizza la directory di lavoro corrente |
Pop-Location | popd | popd | popd | Cambia la directory corrente nella directory inserita più di recente nello stack |
Posizione push | pushd | pushd | pushd | Spingere la directory corrente nello stack |
Set-Location | sl, cd, chdir | cd , chdir | CD | Cambia la directory corrente |
Tee-Object | tee | NC | tee | Instradare l'input a un file o una variabile, quindi passarlo a una pipeline |
Uscita di scrittura | eco, scrivi | eco | eco | Stampa stringhe, variabili, ecc. Sullo standard output |
Get-Process | gps, ps | tlist | ps | Elenco di tutti i processi in esecuzione |
Stop-Process | spps, uccidi | uccidere | uccidere | Interrompi un processo in esecuzione |
Select-String | sls, findstr | find, findstr | grep | Cerca una stringa di caratteri |
Set-Variable | sv, set | impostato | env, export, set, setenv | Definisci il valore di una variabile / crea una variabile |
Invoke-WebRequest | iwr, wget, curl | NC | wget , cURL | Ottieni il contenuto di una pagina web |
PowerShell consente di gestire stringhe di caratteri con unità a 16 bit, come avviene su Windows, la piattaforma .NET, Java e JavaScript.
PowerShell non è in grado di visualizzare i caratteri Unicode quando viene utilizzato tramite il sottosistema della console di Windows . Una soluzione alternativa per ottenere ciò è utilizzare PowerShell ISE, un'interfaccia grafica.