Una guida per conoscere Powershell e una lista dei più importanti comandi.
Indice pagina
» Introduzione
» Cos'è Powershell
» Differenza tra Powershell e Powershell Core
» Quali sono le caratteristiche di Powershell
» Come avviare Powershell e Powershell ISE con Windows
» I principali comandi di Powershell
» Come eseguire script PowerShell da file batch
» Conclusione
» Risorse selezionate dal web
Introduzione
Comprendere e utilizzare l'interfaccia a linea di comando Powershell può aiutarti ad automatizzare attività amministrative in maniera più efficiente.
In questo articolo trovi una guida ai principali comandi Powershell che un amministratore di sistema o un utente evoluto di Windows deve conoscere.
I comandi che andremo a vedere sono:
• #01 Get-Command
• #02 Get-Help
• #03 Get-Process
• #04 Stop-Process
• #05 Get-Service
• #06 Get-History
• #07 Start-Job
• #08 ConvertTo-HTML
• #09 Out-File
• #10 Export-CSV
» Inizio pagina
Cos'è Powershell
Microsoft in tutti i suoi sistemi operativi DOS e Windows, ha sempre incorporato una interfaccia a riga di comando per l'esecuzione di comandi ad un livello elevato di autorizzazione.
Attraverso la scrittura di una serie di comandi si può far eseguire eseguire al sistema operativo specifici comandi e automatizzare procedure di amministrazione.
Chi ha conosciuto il DOS si ricorderà comandi come DIR per visualizzare le directory o FORMAT C: per formattare un disco.
I comandi sono utilizzabili in successione attraverso file file BATCH con un linguaggi di scripting che permette di dare all'utente un'interazione all'esecuzione del comando stesso.
Powershell è un programma che utilizza sempre un'interfaccia carattere ma aggiunge un potente linguaggio di scripting per automatizzare lavori di routine.
Powershell è utilizzabile con i sistemi Windows per impartire comandi al sistema operativo e per aprire programmi utilizzare l’interfaccia grafica di Windows. .
Costituisce inoltre la base dell'interfaccia amministrativa per Microsoft Exchange Server.
Dalla versione 6.0 PowerShell è diventato software libero e Microsoft lo ha reso disponibile anche per sistemi Linux e macOS.
Puoi trovare la documentazione ufficiale di Powershell su
Learn.Microsoft.com.
» Inizio pagina
Differenza tra Powershell e Powershell Core
PowerShell è un componente importante del sistema operativo Windows che vuole a sostituire il vecchio prompt dei comandi stile DOS.
Microsoft promuove una nuova alternativa a PowerShell chiamata PowerShell Core.
PowerShell è incluso nel sistema operativo Windows (client e server) ed è installato per impostazione predefinita mentre PowerShell Core deve essere scaricato e installato separatamente.
Powershell Core è un software open source multi piattaforma in continua evoluzione.
PowerShell Core è una soluzione di automazione delle attività multipiattaforma costituita da una shell da riga di comando, un linguaggio di scripting e un framework di gestione della configurazione.
PowerShell core è compatibile con i sistemi Windows, Linux e macOS e può essere scaricato da Github.
Maggiori info nella documentazione Microsoft e nell'articolo Difference between PowerShell and PowerShell Core di Windosclub.com.
» Inizio pagina
Quali sono le caratteristiche di Powershell
Vediamo ora nel dettaglio le caratteristiche di Powershell:
• Integrazione con i Microsoft .NET Framework
Il .NET Framework è un ambiente che fornisce una vasta gamma di servizi alle applicazioni Windows. I comandi di PowerShell hanno accesso diretto alle risorse del Framework.
• Linguaggio di scripting orientato agli oggetti
Con il suo linguaggio di scripting puoi risparmiare molto tempo durante la gestione di vari tipi di dati e oggetti.
Tutti i comandi di PowerShell che generano un output restituiscono oggetti .NET Framework, eliminando così l’esigenza di analizzare il testo nel caso in cui l’output di un comando costituisca l’input per un comando successivo.
• Command-Let
PowerShell introduce il concetto di cmdlet (command lets). Sono disponibili centinaia di cmdlet, centinaia di parametri e molti metodi per l'output delle informazioni necessarie.
Ogni cmdlet può essere utilizzato separatamente oppure in combinazione con altri per eseguire attività complesse con possibilità di condivisione con altri utenti.
• Studiato per gli amministratori di sistema
PowerShell incorpora funzionalità rivolte agli amministratori di sistema, come la possibilità di operare su computer remoti, accedere al registro di sistema di Windows e avviare o arrestare servizi e automatizzare configurazioni tramite scripting.
» Inizio pagina
Come avviare Powershell e Powershell ISE con Windows
Per accedere al terminale comandi di Powershell con Windows ecco come procedere:
• premi contemporaneamente i tasti
Windows + R;
• Digita il comando
Powershell;
• Per avviare come amministratore non premere Invio ma premi i seguenti tasti:
CTRL + Maiusc + Invio.
• Inserisci eventuale password di amministratore se richiesta
Sempre con Windows è disponibile
PowerShell ISE (Integrated Scripting Environment). Per avere maggiori informazioni su questo edito puoi visitare l'apposita pagina su
Learn.Microsoft.como
Powershell ISE è una funzionalità che consente di eseguire comandi e fare debug degli script in un’unica interfaccia grafica.
Questa interfaccia comprende un riquadro per i comandi, uno per gli script e uno per l’output. Nel riquadro di output vengono visualizzati i risultati dei comandi lanciati negli altri due riquadri.
PowerShell ISE supporta modifiche su più righe, colorazione della sintassi, completamento tramite il tasto TAB e l’esecuzione selettiva e utilizza un proprio profilo, distinto da quello impiegato per personalizzare PowerShell.
Per avviare
Powershell ISE ecco come procedere:
• Premi sulla tastiera del computer i tasti Windows e R contemporaneamente;
• Nella finestra Esegui digita il comando
powershell_ise;
• Per avviare come amministratore non premere Invio ma premi i seguenti tasti:
CTRL + Maiusc + Invio.
» Inizio pagina
I principali comandi di PowerShell per amministratori di sistema
Con Powershell sono disponibili tantissimi comandi detti
cmdlet (per esteso command-lets). Sono disponibili centinaia di cmdlet con vari parametri che permettono l'esecuzione di azioni forniscono output di informazioni.
Alcuni comandi richiedono che Powershell venga eseguito come amministratore.
#1 Get-Command
Il cmdlet
Get-Command elenca a video tutti i comandi disponibili nella sessione terminale corrente o nella finestra di PowerShell. Se hai installato e importato moduli aggiuntivi oltre a quelli inclusi in PowerShell (Microsoft Teams, Microsoft Exchange e così via), li vedrai accodati a questa lista.
Se vuoi esportare i comandi in un file di testo puoi utilizzare questa stringa all'interno di Powershell:
Get-Command | export-csv c:\temp\TuttiCommandi.csv
Questo comando crea una lista completa e dettagliata con i valori separati da una virgola importabili in un foglio Excel. Prima dell'importazione seleziona le righe che ti interessano
#2 Get-Help
Get-Help ti fornisce un aiuto in linea su tutti i comandi di Powershell. Se lanci il comando senza parametri, avrai informazioni base su tutto ciò che Get-Help può fare.
Puoi utilizzare il comando per avere un help dei cmdlet di Powershell.
Per esempio:
get-help get-process
Per aggiornare la guida puoi utilizzare il seguente comando:
Update-Help
#3 Get-Process
Con
Get-Process puoi ottenere informazioni su tutte le applicazioni e processi in esecuzione sul computer locale.
Il comando mostra l'elenco di tutti i processi processi attivi gestiti da Windows con il Task Manager.
Per esempio per scoprire rapidamente quale versione dell'app desktop Notepad è in esecuzione sul computer puoi utilizzare questo comando:
Get-Process notepad -FileVersionInfo
#4 Stop-Process
Stop-Process ti permette di fermare uno o più processi (task). Per farlo puoi utilizzare il nome del processo oppure il Process ID (PID).
Comando di esempio per chiudere il blocco note:
Stop-Process -Name "notepad"
#5 Get-Service
Il comando
Get-Service ti da una lista di tutti i servizi in un computer, inclusi quelli in esecuzione e arrestati. È un metodo più rapido di gestione dei servizi rispetto al
Microsoft Management Console.
Per esempio se vuoi una lista di tutti i servizi che iniziano con la lettera S puoi digitare:
Get-Service -DisplayName S*
#6 Get-History
Con
Get-History ottieni un elenco di tutti i comandi immessi durante la sessione di lavoro con Powershell.
#7 Start-Job
Start-Job consente l'esecuzione di script o comandi in background. Per verificare lo stato di esecuzione di un processo avviato è sufficiente utilizzare il cmdlet 'Get-Job'.
#8 ConvertTo-HTML
Il comando
ConvertTo-Html invia l'output in un file HTML e formatterà le informazioni in colonne ben distanziate di testo di facile lettura.
È sufficiente reindirizzare qualsiasi cmdlet con questo comando alla fine e includendo le informazioni sul file e sul percorso.
Per esempio:
Get-Command Seleziona Nome, Origine, Versione | ConvertTo-Html > c:\temp\AllCommands. HTML
#9 Out-File
Out-File è il comando per salvare semplicemente l'output dei cmdlet di PowerShell in un file di testo non elaborato in un punto qualsiasi del computer.
Esempio:
Get-Service Out-File c:\temp\ServicesList. txt
#10 Export-CSV
ConvertTo-Html esporta i dati nel formato CSV (Comma-Separated Value) ovvero in un file testo separati dalle virgole.
» Inizio pagina
Come eseguire script PowerShell da file batch
Puoi creare un file testuale con estensione .BAT per eseguire script PowerShell.
Senza diritti di amministratore:
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\Percorso\Script\script.ps1'"
Con diritti di amministratore:
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""C:\Percorso\Script\script.ps1""' -Verb RunAs}"
Ricorda di sostituire 'C:\Percorso\Script\script.ps1' con il percorso del tuo script PowerShell con estensione .PS1.
Puoi anche eseguire uno script PowerShell direttamente da Esplora file (o Esplora risorse) facendo clic con il pulsante destro del mouse sul nome file dello script e quindi scegliendo "Esegui con PowerShell".
» Inizio pagina
Conclusione
Uno dei modi più efficienti per diventare bravi in PowerShell è comprendere le nozioni di base. Acquisire competenza nella sintassi. Capire come funzionano le variabili. Diventare più efficiente utilizzando gli alias disponibili su molti di questi comandi. Conoscere i fondamenti può aiutarti a costruire le tue basi di conoscenza e abilità diventando più efficiente e produttivo, specialmente quando hai bisogno di "elaborare" set di dati sempre più grandi. Alcuni comandi di base di PowerShell possono renderti un professionista e potrai automatizzare le attività amministrative in modo più efficiente.
» Inizio pagina
Risorse selezionate dal web
call_made When to use the Windows command prompt vs. PowerShell - Techtarget
call_made Che cos'è PowerShell? - Microsoft Docs
call_made The Top 10 PowerShell Commands That You Should Know - Petri.com
call_made Deleting old files with Powershell - Debugandrelease.blogspot.com
call_made Powershell core reference - Microsoft Docs
call_made Windows PowerShell: cos’è e a cosa serve - Memexcomputer.it
call_made Getting Started with PowerShell on Linux: A Beginner’s Guide - Adamautomator.com
» Inizio pagina
Giampietro Meneghelli
Lidweb.it
Ultimo aggiornamento: 11/02/2024
Tags: Powershell, Windows, X