Comandi PowerShell più utili: Cheat Sheet con esempi
Pubblicato: 2023-07-23- Introduzione a PowerShell
- Approfondimento sulle strutture di comando di PowerShell
- Gestione di file e cartelle
- Gestione dei processi di sistema
- Amministrazione di rete
- Gestione dell'Active Directory
- Gestione registro eventi
- Monitoraggio e analisi delle prestazioni
- Servizi remoti e sessioni di PowerShell
- Politiche di sicurezza ed esecuzione
- Tecniche avanzate di PowerShell
- 30 comandi PowerShell aggiuntivi di seguito
- Conclusione
- FAQ
- Come si utilizzano i comandi di Windows PowerShell?
- Come posso ottenere un elenco di comandi PowerShell in Windows 7?
- Posso usare PowerShell su sistemi non Windows?
- Posso scrivere script in PowerShell?
- Posso utilizzare PowerShell per gestire gli ambienti basati su cloud?
Se hai mai avuto il piacere di immergerti nel mondo dell'amministrazione di sistema, probabilmente hai incontrato i comandi di Windows PowerShell e PowerShell. È uno strumento utile, un linguaggio di scripting della shell che ti dà accesso al funzionamento interno del tuo sistema operativo.
Supera il tradizionale prompt dei comandi (CMD), offrendo maggiore potenza, flessibilità e controllo.
A differenza di CMD, che utilizza semplici istruzioni della riga di comando, Windows PowerShell utilizza un linguaggio più esteso, utilizzando un elenco di comandi PowerShell o cmdlet per attività di sistema complesse.
In qualità di amministratore di sistema, il tuo lavoro può vedere notevoli miglioramenti con questo strumento nel tuo arsenale. Non si tratta solo di rendere le cose più facili; si tratta di efficienza, precisione e capacità di automatizzare le attività ripetitive.
Introduzione a PowerShell
Ora che hai familiarità con PowerShell, è il momento di tuffarti. Iniziare è abbastanza semplice. Hai due percorsi principali:
- la console di PowerShell
- l'ambiente di scripting integrato (ISE).
La console è la tua interfaccia a riga di comando. È un percorso diretto per i tuoi comandi per raggiungere e manipolare il sistema. ISE, d'altra parte, è il tuo parco giochi per gli script. È qui che puoi scrivere, testare ed eseguire il debug dei tuoi script PowerShell in un ambiente amichevole e incentrato sull'utente.
Per aiutarti a far girare la palla, copriamo alcuni comandi di base di PowerShell .
Descrizione : visualizza le informazioni della Guida sui comandi e gli argomenti di Windows PowerShell .
Esempio : digitando Get-Help Get-Process verrà mostrata la guida per il comando Get-Process.
Come suggerisce il nome, Get-Help è la tua guida attraverso l'universo di PowerShell . È un manuale integrato che ti consente di esplorare la funzionalità di altri comandi.
Descrizione : recupera un elenco di tutti i comandi disponibili in PowerShell.
Esempio : inserendo Get-Command -Module ActiveDirectory verranno elencati tutti i comandi disponibili nel modulo ActiveDirectory.
Get-Command è un altro strumento prezioso sul cheat sheet dei comandi di PowerShell . Con esso, puoi visualizzare tutti i comandi che PowerShell ha da offrire.
Approfondimento sulle strutture di comando di PowerShell
I comandi di PowerShell si basano su tre strutture principali: cmdlet, alias e script.
I cmdlet (Command-let) sono il cuore di PowerShell. Sono comandi leggeri che eseguono funzioni specifiche. A differenza dei tradizionali programmi eseguibili, i cmdlet sono oggetti di classe .NET Framework: un boccone, giusto? In poche parole, sono pezzi di codice che fanno cose, come recuperare dati, modificare le impostazioni di sistema o eseguire processi.
Descrizione : recupera un elenco di tutti i processi in esecuzione
Esempio : l'inserimento di Get-Process ti mostrerà tutti i processi attualmente in esecuzione sul tuo sistema.
Gli alias sono solo scorciatoie per i cmdlet. Ad esempio, invece di digitareGet-ChildItem, puoi semplicemente digitaredir, che è più rapido e facile da ricordare.
Gli script, infine, sono file di testo contenenti una serie di cmdlet da eseguire in ordine. Sono la spina dorsale dell'automazione e ti consentono di eseguire attività complesse senza input manuale. Con questa conoscenza e il tuo crescente elenco di comandi di PowerShell , sei sulla buona strada per diventare un professionista di PowerShell.
Gestione di file e cartelle
Essere al timone di un file system può essere un compito arduo. Fortunatamente, PowerShell dà una mano. Con un arsenale di cmdlet, puoi gestire facilmente file e cartelle.
Descrizione : visualizza gli elementi e gli elementi secondari nelle posizioni specificate.
Esempio : inserisci Get-ChildItem C:\Documents e vedrai tutti gli elementi all'interno della directory Documenti.
Questo cmdlet è un membro fondamentale dell'elenco di comandi di PowerShell per la gestione dei file. Non solo elenca file e cartelle, ma può anche approfondire le directory rivelando i tesori nascosti all'interno.
Descrizione : crea un nuovo elemento, come un file o una cartella.
Esempio : digita New-Item -Path .-Nome "file.txt" -ItemType "file" -Valore "directory corrente del file demo di powershell new-item".
e guarda un nuovo file, file.txt, nascere nella tua cartella Documenti.
Gestione dei processi di sistema
Ora cambiamo marcia e parliamo dei processi di sistema. Pensa a loro come alla troupe dietro le quinte di una produzione teatrale, che lavora diligentemente dietro le quinte per assicurarsi che lo spettacolo proceda senza intoppi. PowerShell offre comandi per monitorare, manipolare e gestire questi eroi sconosciuti.
Descrizione: recupera lo stato di un elenco di processi specificati.
Esempio: immettendo Get-Process verranno visualizzati tutti i processi attualmente in esecuzione sulla macchina.
Quanto sopra è uno dei comandi PowerShell più utilizzati in Windows 10 per la gestione dei processi di sistema. Fornisce un'istantanea di ciò che accade dietro lo schermo.
Utilizzo dei servizi
Proprio come i processi di sistema, i servizi sono ingranaggi critici nella ruota che mantengono i nostri sistemi senza intoppi. Esistono programmi che vengono eseguiti in background e con PowerShell puoi tenerli d'occhio.
Descrizione : recupera lo stato dei servizi su un computer locale o remoto.
Esempio : quando esegui Get-Service, riceverai un aggiornamento dello stato di tutti i servizi sul tuo computer.
Descrizione : interrompe uno o più servizi in esecuzione.
Esempio : Stop-Service -Name "serviceName" interromperà il servizio specificato.
Questi esempi di comandi di PowerShell graffiano solo la superficie di ciò che puoi fare con PowerShell. La vera bellezza di PowerShell risiede nella sua flessibilità e nella misura in cui può essere personalizzata per soddisfare le tue esigenze specifiche.
Amministrazione di rete
Gestire una rete potrebbe sembrare come cercare di risolvere un puzzle con infiniti pezzi. Fortunatamente, con PowerShell, non sei senza strumenti per semplificare questo lavoro. Ecco un paio dei principali comandi di PowerShell per assisterti.
Descrizione : visualizza le informazioni diagnostiche per una connessione.
Esempio : digita Test-NetConnection per testare la connessione di rete della tua macchina.
Descrizione : Visualizza la configurazione dell'indirizzo IP.
Esempio : l'esecuzione di Get-NetIPAddress rivela i dettagli dell'indirizzo IP della tua macchina.
Questi cmdlet possono aiutare a diagnosticare i problemi e rivelare i dettagli essenziali della configurazione di rete.
Gestione dell'Active Directory
Nel mondo dell'amministrazione di rete, Active Directory (AD) è il gestore dell'ufficio, tenendo traccia di ogni risorsa di rete. PowerShell è dotato di comandi utili per semplificare la gestione di AD.
Descrizione : recupera un oggetto utente o esegue una ricerca per recuperare più oggetti utente.
Esempio : Get-ADUser -Filter * visualizzerà un elenco di tutti gli utenti nel tuo AD.
Descrizione : crea un nuovo utente AD.
Esempio : con un comando come New-ADUser -Name "JohnDoe" puoi creare un nuovo utente chiamato JohnDoe.
Gestione registro eventi
I registri degli eventi sono come il diario del tuo sistema, registrando i suoi pensieri e le sue azioni. Sono uno strumento prezioso per la risoluzione dei problemi. Ecco come eseguire i comandi di PowerShell in Windows 10 che interagiscono con i registri eventi.
Descrizione : ottiene gli eventi in un registro eventi o un elenco dei registri eventi.
Esempio : Get-EventLog -LogName Il sistema visualizzerà i log degli eventi di sistema.
Descrizione : cancella tutte le voci dai registri eventi specificati.
Esempio : Clear-EventLog -LogName "Application" pulirà la lavagna per il registro eventi dell'applicazione.
È importante ricordare che mentre questi sono alcuni dei comandi PowerShell più comuni , ce ne sono innumerevoli altri da esplorare. L'adattabilità e la solida funzionalità di PowerShell lo rendono uno strumento indispensabile per qualsiasi amministratore di sistema.
Monitoraggio e analisi delle prestazioni
Come un'orchestra ben sintonizzata, il tuo sistema ha bisogno di una messa a punto regolare per funzionare al meglio. Il monitoraggio delle prestazioni assicura che le risorse del sistema vengano utilizzate in modo efficace. Ecco alcuni comandi di Windows PowerShell che ti consentono di sbirciare sotto il cofano.
Descrizione : recupera lo stato di un elenco di processi specificati.
Esempio : l'esecuzione di Get-Process mostra tutti i processi attualmente in esecuzione sulla tua macchina.
Descrizione : misura il tempo necessario per eseguire i blocchi di script.
Esempio : Measure-Command {Get-Process} rivelerà il tempo impiegato per eseguire il comando Get-Process.
Descrizione : ottiene i dati del contatore delle prestazioni da computer locali e remoti.
Esempio : Get-Counter -Counter "\Processor(_Total)\% Processor Time" fornirà statistiche sull'utilizzo della CPU.
Leggi anche: Come velocizzare le prestazioni di un disco rigido su Windows?
Servizi remoti e sessioni di PowerShell
Un punto di forza fondamentale di PowerShell risiede nella sua capacità di gestire computer remoti. È possibile stabilire sessioni o connessioni permanenti con macchine remote. Il cheat sheet dei comandi di PowerShell non sarebbe completo senza questi cmdlet.
Descrizione : avvia una sessione interattiva con un computer remoto.
Esempio : Enter-PSSession -ComputerName Server01 consente di interagire direttamente con Server01.
Descrizione : crea una nuova sessione di PowerShell.
Esempio : New-PSSession -ComputerName Server02 crea una nuova sessione con Server02.
Descrizione : chiude una o più sessioni di PowerShell.
Esempio : Remove-PSSession -Session $s chiude una sessione archiviata nella variabile $s.
Lavorare con i profili di PowerShell
Come il tuo profilo personale, un profilo PowerShell è uno script che viene eseguito all'avvio di Powershell e definisce il tuo ambiente. Ecco alcuni comandi cmdlet di PowerShell per gestire i tuoi profili.
Descrizione : determina se esistono tutti gli elementi del percorso.
Esempio : Test-Path $profile verificherà se esiste un profilo.
Descrizione : crea un nuovo elemento, come un file o una cartella.
Esempio : se Test-Path $profile restituisce False, New-Item -Type file -Path $profile -Force creerà un nuovo profilo.
Descrizione : apre i file in Blocco note.
Esempio : Notepad $profile apre il tuo profilo in Notepad, permettendoti di modificarlo.
Comprendendo e utilizzando questi comandi, puoi personalizzare il tuo ambiente PowerShell in base alle tue preferenze e al tuo stile di lavoro.
Politiche di sicurezza ed esecuzione
Nel regno di PowerShell, la sicurezza è come un guardiano risoluto, che garantisce che script e comandi vengano eseguiti in modo sicuro. Di seguito sono riportati alcuni comandi di base di PowerShell che consentono di definire e comprendere i criteri di esecuzione.
Descrizione : ottiene i criteri di esecuzione per la sessione corrente.
Esempio : Get-ExecutionPolicy visualizza i criteri di esecuzione correnti.
Descrizione : imposta i criteri di esecuzione per la sessione di PowerShell.
Esempio : Set-ExecutionPolicy RemoteSigned imposta il criterio per eseguire solo script firmati da un editore attendibile.
Descrizione : ottiene la firma digitale di uno script o di un file.
Esempio : Get-AuthenticodeSignature C:\Scripts\Test.ps1 mostra la firma digitale dello script Test.ps1.
Tecniche avanzate di PowerShell
Mentre approfondisci l'oceano di PowerShell, scoprirai che è pieno di molto più dei cmdlet di base. Le funzioni avanzate offrono maggiore flessibilità e funzionalità, consentendoti di lavorare in modo più intelligente, non di più. Di seguito sono riportati alcuni esempi di comandi di PowerShell per illuminare le possibilità.
Descrizione : esegue comandi su computer locali e remoti.
Esempio : Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} esegue il comando Get-Process su Server01.
Descrizione : converte gli oggetti .NET in stringhe CSV e memorizza i risultati in un file CSV.
Esempio : Get-Processo |Export-Csv -Path .\ProcessList.csv salva l'elenco dei processi in un file CSV.
Descrizione : converte un oggetto nella sua rappresentazione JSON.
Esempio : Get-Processo |ConvertTo-Json converte l'elenco dei processi in formato JSON.
Descrizione : seleziona le proprietà specificate di un oggetto o di un insieme di oggetti.Può anche selezionare oggetti univoci da un array.
Esempio : Get-Processo |Select-Object -Property Name,ID mostra solo il nome e l'ID dei tuoi processi.
Descrizione : filtra l'input dalla pipeline consentendo il controllo su quali oggetti verranno passati lungo la sequenza di comandi.
Esempio : Get-Processo |Where-Object {$_.CPU -gt 10} visualizza i processi che utilizzano più di 10 unità CPU.
Descrizione : esegue un'operazione su ciascuno di un insieme di oggetti di input.
Esempio : Get-Processo |ForEach-Object { $_.Name + ” ” + $_.Id } visualizza un elenco di nomi di processo insieme ai relativi ID.
Questi utili comandi di PowerShell dimostrano le tecniche avanzate che puoi utilizzare per sfruttare ulteriormente la potenza di PowerShell. Dall'invocazione di comandi su computer remoti al filtraggio e alla formattazione dell'output, le possibilità sono vaste.
Ricorda che il cmdlet Get-Help è tuo amico quando non sei sicuro di come eseguire i comandi di PowerShell . Digita semplicemente Get-Help seguito dal cmdlet per cui hai bisogno di aiuto. Questo elenco dei principali comandi di PowerShell è solo l'inizio; Il potenziale di PowerShell è limitato solo dalla tua immaginazione.
30 comandi PowerShell aggiuntivi di seguito
Comando | Descrizione |
Out-File | Invia l'output a un file. |
Sort-Oggetto | Ordina gli oggetti in base ai valori delle proprietà. |
Set-variabile | Imposta il valore di una variabile. |
Read-Host | Legge una riga di input dalla console. |
Write-Host | Scrive l'output personalizzato in un host. |
Aggiungi contenuto | Aggiunge contenuto agli elementi specificati, ad esempio l'aggiunta di righe a un file. |
Copia-Articolo | Copia un elemento da una posizione a un'altra. |
Percorso di prova | Verifica l'esistenza di un percorso e restituisce True se il percorso esiste, altrimenti False. |
Ottieni data | Ottiene la data e l'ora correnti. |
Clear-Host | Cancella la visualizzazione nel programma host. |
Confronta-Oggetto | Confronta due insiemi di oggetti. |
ConvertTo-Html | Converte gli oggetti .NET in HTML che possono essere visualizzati in un browser Web. |
Ottieni credenziali | Ottiene un oggetto credenziali basato su nome utente e password. |
Get-Random | Ottiene un numero casuale o seleziona gli oggetti in modo casuale da una raccolta. |
Nuovo-Oggetto | Crea un'istanza di un oggetto .NET Framework o COM. |
Rinomina-elemento | Rinomina un elemento in uno spazio dei nomi del provider di Windows PowerShell. |
Inizio-sonno | Sospende l'attività in uno script per il periodo specificato. |
Write-Output | Invia gli oggetti specificati al comando successivo nella pipeline. |
Percorso diviso | Restituisce la parte specificata di un percorso. |
Join-Path | Combina un percorso e un percorso figlio in un unico percorso. |
ForEach-oggetto | Esegue un'operazione su ogni elemento in una raccolta di oggetti di input. |
Dove-Oggetto | Seleziona gli oggetti da una raccolta in base ai relativi valori di proprietà. |
Processo di avvio | Avvia uno o più processi nel computer locale. |
Formato-Elenco | Formatta l'output come un elenco di proprietà in cui ogni proprietà viene visualizzata su una riga separata. |
Formato-Tabella | Formatta l'output come tabella. |
Export-Clixml | Crea una rappresentazione basata su XML di uno o più oggetti e la memorizza in un file. |
Import-Clixml | Importa un file CliXML e ricrea gli oggetti salvati. |
ConvertFrom-Csv | Converte le proprietà degli oggetti nelle stringhe CSV nelle versioni CSV degli oggetti originali. |
ConvertTo-Csv | Converte oggetti .NET in una serie di stringhe CSV. |
Select-String | Trova testo in stringhe e file. |
Conclusione
A questo punto, dovresti avere un elenco completo dei comandi di PowerShell e un'idea chiara del loro potenziale. Che tu stia automatizzando attività , gestendo risorse di rete o risolvendo problemi, PowerShell è uno strumento indispensabile per qualsiasi utente o amministratore di Windows.
Questi cmdlet di PowerShell si limitano a graffiare la superficie di ciò che è possibile. Man mano che diventi più a tuo agio con la console, ti ritroverai a scoprire nuovi comandi e creare script che soddisfano perfettamente le tue esigenze.
Tenere presente che il cmdlet Get-Help è sempre disponibile per fornire assistenza ai comandi di PowerShell ogni volta che sono necessarie ulteriori informazioni su un particolare cmdlet. Digita semplicemente Get-Help seguito dal cmdlet per cui hai bisogno di aiuto.
FAQ
Come si utilizzano i comandi di Windows PowerShell?
L'utilizzo dei comandi di Windows PowerShell è semplice. Digita il comando nella console di PowerShell e premi Invio. Se hai bisogno di aiuto con un particolare comando, digita semplicemente Get-Help seguito dal comando che vuoi capire meglio.
Come posso ottenere un elenco di comandi PowerShell in Windows 7?
Puoi ottenere un elenco di comandi in PowerShell su Windows 7 digitando Get-Command nella console e premendo Invio. Verranno visualizzati tutti i cmdlet e le funzioni disponibili che è possibile utilizzare.
Perché Windows PowerShell non è in grado di comprendere alcun comando?
Se PowerShell non comprende i tuoi comandi, potrebbe essere dovuto a errori di sintassi. Controlla il tuo comando per errori di battitura o parametri errati. Inoltre, assicurati di utilizzare la versione corretta di PowerShell per il comando che stai tentando di eseguire.
Posso usare PowerShell su sistemi non Windows?
Si, puoi. Con l'avvento di PowerShell Core, PowerShell di Microsoft non è più limitato a Windows. Puoi usarlo anche su macOS e Linux.
Posso scrivere script in PowerShell?
Assolutamente! PowerShell non è solo un'interfaccia a riga di comando, ma anche un linguaggio di scripting. Puoi creare script per automatizzare attività ripetitive, il che può farti risparmiare molto tempo e fatica.
Posso utilizzare PowerShell per gestire gli ambienti basati su cloud?
Sì, PowerShell è un potente strumento per la gestione di ambienti basati su cloud. Molti fornitori di servizi cloud, tra cui Microsoft Azure e Amazon AWS, forniscono moduli PowerShell per interagire con i loro servizi.