18 comandi Powershell più utili per gli amministratori di Windows

18 dicembre 2021 19859 Visualizzazioni I comandi Powershell più utili

In questa zona S, Victor condivide il suo elenco definitivo dei comandi PowerShell più utili per gli amministratori di sistema. Per ogni comando, spiega la sintassi e i parametri. Quindi termina con alcuni esempi.





In questa zona S, userò i comandi di PowerShell, PS, i cmdlet e i cmdlet di PowerShell, in modo intercambiabile.

Sfoglia gli argomenti dei post



I comandi Powershell più utili per trovare e ottenere aiuto con i cmdlet

Non puoi parlare dei comandi PowerShell più utili senza imparare a trovarli. Di seguito sono riportati i comandi di PowerShell che ti aiuteranno a trovare i cmdlet.

Ottieni-Comando

Il cmdlet Get-Command è il primo e più importante PS che un principiante di PowerShell dovrebbe imparare e sapere come usarlo. Come mai? Ti aiuta a trovare altri cmdlet di PowerShell. Quale comando può essere più importante di un comando in grado di farlo?



Per trovare tutti i comandi PS nel tuo computer, esegui semplicemente questo comando di seguito:



|_+_| comandi PowerShell più utili

Comprensione dei risultati del cmdlet Get-Command

Sono presenti quattro colonne nei risultati dell'output del comando Get

  1. CommandType : indica se il comando è un alias, un cmdlet o una funzione.
  2. Nome : Il nome è il comando effettivo che esegui.
  3. Versione : Questa è la versione di PowerShell
  4. Fonte : Il modulo del comando PS.

Con queste informazioni, puoi filtrare i risultati da Get-Command. Supponiamo di voler vedere i comandi di PowerShell contenenti la parola EventLog, l'esecuzione del comando seguente porterà a termine il lavoro:



|_+_|

Nota dove ho aggiunto gli asterischi. Questo perché ne sono consapevole
EventLog è la parte nominale dei cmdlet. Tuttavia, se non lo sai nemmeno, puoi provare ad aggiungere gli asterischi all'inizio, quindi prova alla fine.



Di seguito è riportato il risultato del comando precedente.

Ottieni parametri di comando

Infine, prima di andare avanti, discutiamo i parametri del cmdlet Get-Command.

Per ottenere tutti i parametri e le informazioni sul comando Get-Command, eseguire questo comando di seguito:

|_+_|

Questo ti darà tutte le informazioni relative al cmdlet Get-Command.

In seguito parlerò del cmdlet Get-Help.

Ottenere aiuto

Mentre il cmdlet Get-Command trova il cmdlet è necessario, il comando Get-Help PowerShell fornisce le informazioni necessarie per eseguire il comando.

Il modo più semplice per utilizzare il cmdlet Get-Help è immettere Get-Help seguito dal comando su cui desideri ottenere informazioni. Per trovare ulteriori informazioni sul cmdlet Get-EventLog, eseguire il comando seguente:

|_+_|

Questo ti darà le informazioni di base sul comando Get-EventLog PowerShell. Vedi il risultato qui sotto:

Alcuni parametri importanti del comando Get-Help

Come qualsiasi altro cmdlet di PowerShell, il cmdlet Get-Help ha una serie di parametri. Di seguito sono riportati i parametri più importanti di cui avrai bisogno.

2 frecce blu sulle cartelle
  1. - Dettagliato : Il Dettagliato parametro fornisce il comando SINTASSI, PARAMETRI, ALIAS e OSSERVAZIONI.
  2. -Pieno : Il Completo fornisce informazioni simili fornite dal Dettagliato parametro con maggiori informazioni su ciascun parametro
  3. -Esempi : fornisce esempi su come utilizzare il cmdlet. Questo può essere molto utile se non hai mai usato il cmdlet prima e non sai come procedere.
  4. -In linea : Apre la pagina della guida in linea del cmdlet.
Per vedere i parametri di un cmdlet PS, digita il cmdlet in PS, premi il tasto spazio, digita trattino - seguito dal tasto Tab. Premendo il tasto Tab scorrerai i parametri disponibili.

I comandi Powershell più utili per gestire file e cartelle

Ora che sai come trovare i comandi di PowerShell, ti mettiamo nel cofano. Il prossimo set di comandi PowerShell più utili sono i cmdlet per aiutarti a gestire file e cartelle.

Get-ChildItem

Ottiene gli elementi in una posizione specificata. Per elencare le cartelle nella mia unità C, eseguirò il comando seguente:

|_+_|

Questo elencherà tutte le cartelle di livello superiore. Per elencare tutti i file, le cartelle includono le sottocartelle, utilizzare il – Ricorso parametro.

Suggerimento professionale
È possibile combinare il cmdlet Get-ChildItem con altri cmdlet per calcolare la dimensione di ciascuna cartella in una directory specificata.

Copia-oggetto e sposta-oggetto

È possibile utilizzare il cmdlet Get-ChildItem per elencare gli elementi in una cartella, quindi reindirizzare il risultato al cmdlet Copy-Item per copiare gli elementi in una nuova posizione. Il comando seguente farà il lavoro:

|_+_| Il comando powershell sopra copierà solo le cartelle e i file di livello superiore, NON copierà le sottocartelle e i file. Per copiare tutti i file e le cartelle comprese le sottocartelle, includi il – Ricorso parametro nel comando Get-ChildItem come mostrato di seguito: |_+_|

Mentre il cmdlet Copy-Item copia gli elementi da una posizione all'altra, il cmdlet Move-Item sposta l'elemento.

codice nerd e niubbo

Rimuovi oggetto

Questo cmdlet elimina gli elementi specificati. Come i cmdlet Copy-Item e Move-Item, è possibile reindirizzare l'output di Get-ChildItem a Remove-Item.

Utilizzare il cmdlet Remove-Item con cautela in quanto può eliminare tutti i file e le cartelle nel computer, inclusi i file di Windows! Suggerimento professionale
Collegando l'output di Get-ChildItem a Remove-Item, è possibile creare un semplice script che eliminerà regolarmente alcuni file di registro. È possibile pianificare l'esecuzione dello script PS all'ora specificata utilizzando l'Utilità di pianificazione di Windows.

I comandi PowerShell più utili per i rapporti

Sono disponibili 3 set di comandi di PowerShell che puoi utilizzare per esportare elementi in CVS, esportare in file di testo e in file HTML. Discuteremo questi 3 in seguito.

Esporta-Csv

Export-Csv converte un set di stringhe in CSV e salva in un file. Questo cmdlet è molto importante nella creazione di report.

Per dimostrare l'uso di Export-CSV, eseguire il comando seguente:

|_+_|

Ecco il risultato del comando.

comandi PowerShell

È possibile reindirizzare l'output del comando precedente in Export-CSV per creare un report CVS dei risultati mostrati nell'immagine precedente.

Ecco il comando per eseguire questo compito.

|_+_|

Nota che ho dovuto includere il nome del file CSV nel percorso. Ho anche un altro parametro -NoTypeInformation . Per ulteriori informazioni su -NoTypeInformation, leggere questo articolo PowerShell NoTypeInformation: applicazioni e usi.

C'è un altro cmdlet nel comando precedente, Seleziona-Oggetto . Questo cmdlet è stato utilizzato per specificare le colonne da restituire ed esportare in CSV. Se ho escluso Seleziona-Oggetto l'output del CSV conterrà molti dati indesiderati. Più avanti in questo tutorial, tratterò Select-Object.

Per riferimento, di seguito è riportato l'output del file CSV.

comandi PowerShell

Sebbene questo report sia molto simile all'output mostrato nell'immagine precedente, è più utile come report. Potresti inviare il file CSV al tuo capo!

Out-file

Il cmdlet Out-file invia l'output a un file di testo

Il comando seguente esporterà l'uscita dal cmdlet Get-Command PowerShell in un file di testo anziché in un CSV:

|_+_|

Ecco il risultato in un file di testo: Lo stesso report, ora in un file di testo! Com'è buono!

Che cosa succede se si esegue questo rapporto ogni giorno e non si desidera sovraccaricare il contenuto del giorno precedente, ma piuttosto aggiungerlo. Questo comando farà il lavoro.

|_+_|

I comandi Powershell più utili per gestire i processi

Un altro insieme di comandi PowerShell più utili per gli amministratori di Windows sono i cmdlet per gestire i processi di Windows. Diamo un'occhiata a loro.

Get-Processo

Questo cmdlet di PowerShell elenca tutti i processi in esecuzione su un computer locale. Potrebbe anche far funzionare i processi su un computer remoto - con il - Nome del computer parametro.

Tuttavia, quando si esegue il cmdlet Get-Process PowerShell senza alcun parametro, vengono restituiti tutti i processi in esecuzione nel computer locale. Per provarlo, esegui il comando seguente. Il risultato è mostrato nell'immagine qui sotto.

|_+_|

Comandi di PowerShell Start-Process e Stop-Process

Il comando Get-Process di PowerShell può funzionare con i cmdlet di PowerShell Start-Process e Stop-Process per avviare o arrestare un processo o un insieme di processi.

Supponiamo che tu abbia eseguito il comando Get-Process PowerShell ma desideri interrompere un processo con un ID processo specifico 10500, il comando seguente farà il lavoro.

|_+_| Avvertimento!
Utilizzare il cmdlet di PowerShell Stop-Process con cautela poiché l'arresto del processo errato potrebbe rendere instabile il computer.

Per avviare il processo, reindirizzare l'output del comando Get-Process PowerShell al cmdlet Stop-Process PowerShell.

I comandi PowerShell più utili per gestire i registri eventi

La gestione del registro eventi è una delle attività più importanti per gli amministratori di Windows. Quindi, il prossimo set di comandi di PowerShell ti aiuterà a gestire i registri eventi.

Get-EventLog

Il cmdlet Get-EventLog di PowerShell ottiene gli eventi in un registro eventi specificato. È possibile ottenere eventi in un computer locale o remoto. Per ottenere eventi da un computer remoto, utilizzare il – Nome del computer parametro per specificare il computer remoto. Tuttavia, tieni presente che avrai bisogno delle autorizzazioni corrette per accedere al computer remoto.

Per ottenere gli ultimi 5 eventi registrati nel registro eventi di sistema, eseguire il comando seguente

|_+_| Suggerimento professionale
L'ultimo comando può essere utilizzato per la risoluzione dei problemi.

Cancella registro eventi

Come ti aspetteresti, ci sono più cmdlet del registro eventi, ma tratteremo questo 2 per questo tutorial.

Clear-EventLog cancella tutti gli eventi nel registro eventi specificato. Il cmdlet può cancellare i registri eventi su computer sia locali che remoti.

l'avatar di Steam non si carica

Il comando seguente cancella tutti gli eventi con il nome Windows PowerShell dal computer locale

|_+_| Per eseguire il comando seguente, è necessario aprire PowherShell come amministratore: fare clic con il pulsante destro del mouse e selezionare Esegui come amministratore.

I comandi PowerShell più utili per ottenere informazioni sul tuo computer

Se hai bisogno di raccogliere dati sui computer sulla tua rete – Nome del computer, versione del BIOS, dimensione della RAM, informazioni sul disco, ecc. – Get-WmiObject POWERShell Cmdlet è tuo amico! esploriamo questo potente cmdlet, vero?

Get-WmiObject

Get-WmiObject ha un parametro chiamato – Classe ciò consente di specificare l'oggetto WMI a cui si desidera accedere. Il comando seguente otterrà un elenco di classi WMI, |_+_|

Una volta che conosci il nome della classe WMI, puoi eseguire Get-WmiObject per restituire informazioni utili da un computer locale o remoto. Di seguito è riportato un elenco delle classi WMI più importanti di cui potresti aver bisogno

  • Win32_PhysicalMemory – informazioni sulla memoria disponibile
  • Win32_Processor – Informazioni sul processore
  • Win32_LogicalDisk – Informazioni sull'unità disco logico
  • Win32_DiskDrive – Informazioni sul disco fisico
  • Win32_OperatingSystem – Informazioni sul sistema operativo
  • Win32_BaseBoard – Ottieni informazioni sulla scheda madre

Per ottenere informazioni sul sistema operativo, eseguire il comando seguente:

|_+_|

I comandi di PowerShell più utili per connettersi a sessioni di PowerShell remote

Non puoi discutere dei comandi di PowerShell senza parlare del telecomando PS. In qualità di amministratore di sistemi Windows, dovrai connetterti in remoto ai computer tramite PowerShell.

Ecco i comandi di cui avrai bisogno.

Comandi di PowerShell Enter-PSSession e Exit-PSSession

Il comando Enter-PSSession PowerShell consente di avviare in modo interattivo una sessione PS remota su un singolo computer. Al termine con il computer remoto, terminare la sessione con il comando Exit-PSSession.

Per aprire una sessione PS remota con un computer chiamato Computer1, esegui il comando seguente:

|_+_|

Invoca-comando

Mentre il cmdlet Enter-PSSession PowerShell consente di eseguire comandi su un singolo computer remoto, il cmdlet Invoke-Command consente di eseguire comandi su uno o più computer remoti.

Se desideri eseguire il comando Get-Process su Computer1, Computer2, Computer3, esegui questo comando:

|_+_|

Nuova sessione PS

Il cmdlet di PowerShell New-PSSession consente di aprire una sessione persistente con un computer remoto. Poiché la sessione è persistente, è una buona idea aggiungere la sessione remota in una variabile.

download di produzioni scarlet crush

Per aprire una sessione PS remota persistente sui computer Computer1, Computer2, eseguire il comando seguente:

|_+_|

Con la sessione PS stabilita e archiviata nella variabile $session, puoi eseguire i normali comandi di PowerShell sulla sessione remota usando il file
Cmdlet di PowerShell per il richiamo del comando.

Come ultimo esempio nelle sessioni di PowerShell remote, per eseguire Get-Process sui computer remoti, eseguire il comando:

|_+_| Ho archiviato i risultati del comando Get-Process in una variabile denominata $Processes perché ci sono più computer. La memorizzazione del risultato in una variabile facilita la manipolazione dei dati. Puoi usare aForEach loop per estrarre e organizzare i dati.

Ecco qua: la mia lista definitiva dei comandi PowerShell più utili! Spero che questa zona S ti sia stata utile.

In alternativa, puoi fare una domanda, lasciare un commento o fornire un feedback con il modulo Lascia un commento che si trova alla fine di questa pagina.

Infine, per altre zone di PowerShell S, visita la nostra pagina di Windows PowerShell.