Sei in » Home  » Guide
Scritto da G. Meneghelli - Letto 10706 volte  -   Ultimo aggiornamento  11/02/2024




Una guida per conoscere Powershell e una lista dei più importanti comandi.
image article


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.

image article




» 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

image article



#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





  Articolo precedente


Come verificare se Windows è originale