9Aug
Windows 7 ha aggiunto PowerShell, una shell da riga di comando più potente e un linguaggio di scripting rispetto al prompt dei comandi. Da Windows 7, PowerShell è diventato più prominente, diventando addirittura la scelta predefinita in Windows 10.
PowerShell è più complicato del tradizionale Prompt dei comandi, ma è anche molto più potente. Il prompt dei comandi è notevolmente inferiore alle shell disponibili per Linux e altri sistemi simili a Unix, ma PowerShell compete in modo favorevole. Inoltre, la maggior parte dei comandi del prompt dei comandi sono utilizzabili in PowerShell, sia nativamente che tramite alias.
Come PowerShell si differenzia dal prompt dei comandi
PowerShell è in realtà molto diverso dal prompt dei comandi. Utilizza diversi comandi, noti come cmdlet in PowerShell. Molte attività di amministrazione del sistema, dalla gestione del registro a WMI( Strumentazione gestione Windows), vengono esposte tramite i cmdlet di PowerShell, mentre non sono accessibili dal prompt dei comandi.
PowerShell fa uso di pipe, proprio come fa Linux, che consentono di trasmettere l'output di un cmdlet all'input di un altro cmdlet. Pertanto, è possibile utilizzare più cmdlet in sequenza per manipolare gli stessi dati. A differenza dei sistemi di tipo Unix, che possono solo filtrare flussi di caratteri( testo) -PowerShell convoglia oggetti tra cmdlet. E praticamente tutto in PowerShell è un oggetto, inclusa ogni risposta ricevuta da un cmdlet. Ciò consente a PowerShell di condividere dati più complessi tra i cmdlet, operando più come un linguaggio di programmazione.
PowerShell non è solo una shell.È un potente ambiente di scripting che è possibile utilizzare per creare script complessi per la gestione dei sistemi Windows in modo molto più semplice di quanto si possa fare con il prompt dei comandi.
Il prompt dei comandi è essenzialmente solo un ambiente legacy portato avanti in Windows, un ambiente che copia tutti i vari comandi DOS che si trovano su un sistema DOS.È dolorosamente limitato, non può accedere a molte funzionalità di amministrazione del sistema Windows, è più difficile comporre script complessi e così via. PowerShell è un nuovo ambiente per gli amministratori di sistema di Windows che consente loro di utilizzare un ambiente a linea di comando più moderno per gestire Windows.
Quando si desidera utilizzare PowerShell
Quindi, quando un utente medio di Windows desidera utilizzare PowerShell?
Se si attiva solo raramente il prompt dei comandi per eseguire il comando ping o ipconfig occasionale, non è necessario toccare PowerShell. Se sei più a tuo agio con il Prompt dei comandi, non sta andando da nessuna parte. Detto questo, molti di questi comandi funzionano bene anche in PowerShell, se vuoi provarlo.
Tuttavia, PowerShell può essere un ambiente da riga di comando molto più potente del Prompt dei comandi. Ad esempio, ti abbiamo mostrato come utilizzare l'ambiente PowerShell integrato in Windows per eseguire un'operazione di ricerca e sostituzione per rinominare in batch più file in una cartella, cosa che normalmente richiederebbe l'installazione di un programma di terze parti. Questo è il genere di cose che gli utenti Linux sono sempre stati in grado di fare con il proprio ambiente a riga di comando, mentre gli utenti di Windows erano rimasti fuori.
Tuttavia, PowerShell non è come il terminale Linux.È un po 'più complicato, e l'utente medio di Windows potrebbe non vedere molti benefici dal giocarci. Gli amministratori di sistema
vorranno imparare PowerShell in modo che possano gestire i loro sistemi in modo più efficiente. E se hai mai bisogno di scrivere uno script per automatizzare varie attività di amministrazione del sistema, dovresti farlo con PowerShell.
Equivalenti PowerShell di comandi comuni
Molti comandi Comando prompt comuni: da ipconfig a cd -work nell'ambiente PowerShell. Questo perché PowerShell contiene "alias" che puntano questi vecchi comandi ai nuovi cmdlet appropriati, eseguendo i nuovi cmdlet quando si digitano i vecchi comandi.
Esamineremo comunque alcuni comandi Command Prompt e i relativi equivalenti in PowerShell, solo per darti un'idea di come la sintassi di PowerShell sia diversa.
Cambia una directory
- DOS: cd
- PowerShell: Set-Location
Elenca file in una directory
- DOS: dir
- PowerShell: Get-ChildItem
Rinomina un file
- DOS: rinomina
- PowerShell: Rename-Item
Per vedere se un comando DOS ha un alias, è possibile utilizzare il cmdlet Get-Alias. Ad esempio, digitando Get-Alias cd si mostra che cd sta effettivamente eseguendo il cmdlet Set-Location.
Ulteriori informazioni
Vuoi saperne di più su PowerShell? Leggi la nostra serie di articoli di Geek School che ti introdurranno a PowerShell e ti aiuteranno ad aumentare la velocità.Se sei un amministratore di sistema di Windows, dovresti sapere questa roba.