20 comandi di Windows PowerShell da conoscere
Windows PowerShell è la nuova shell della riga di comando, che è più potente e programmabile di Prompt dei comandi. Nei miei tre anni di esperienza nell'uso, l'ho trovato davvero utile, specialmente se ci sei attività di automazione o scripting. Tuttavia, molti di noi non lo sanno o non preferiscono usarlo al posto della vecchia shell della riga di comando.
In questo post, ho intenzione di condividere comandi utili ma semplici (con esempi) di Windows PowerShell. È possibile utilizzare questi comandi per eseguire numerose attività, dall'assistenza ai processi di avvio. Iniziamo?
Nota: Windows PowerShell è costruito con retrocompatibilità in mente, e quindi supporta molti comandi del prompt dei comandi. Detto questo, puoi continuare a utilizzare i vecchi comandi nella sua nuova e colorata interfaccia.
Get-Help [aiuto]
Se sei nuovo in PowerShell, potresti incontrare dei problemi; e in tali situazioni, Get-Help diventa il tuo salvatore. Fornisce informazioni necessarie su cmdlet, comandi, funzioni, script e flussi di lavoro di PowerShell.
Inoltre, è facile: devi digitare Ottenere aiuto
seguito dal comando, di cui, si cercano i dettagli. Ad esempio, è possibile ottenere informazioni su “Get-Process” utilizzando Get-Help Get-Process
.
Get-Command [gcm]
Windows PowerShell consente di scoprirne i comandi e le funzionalità utilizzando Get-Command. Visualizza l'elenco di comandi di una caratteristica specifica o per uno scopo specifico basato sul tuo parametro di ricerca.
Devi solo digitare Get-Command
seguito dalla query di ricerca in PowerShell. Per esempio, Get-Command * -service *
visualizza i comandi con “-servizio” nel suo nome. Per favore ricordati di utilizzare gli asterischi su entrambi i lati della query perché è una wild card che aiuta a cercare l'ignoto.
Invoke-Command [icm]
Quando lo desideri eseguire un comando o uno script di PowerShell - in locale o in remoto su computer singoli o multipli - “Invoke-Command” È tuo amico. È facile da usare e ti aiuta a controllare i computer in modo batch.
Devi digitare Invoke-Command
seguito dal comando o dallo script con il suo percorso completo. Ad esempio, puoi eseguire un comando “Get-EventLog” utilizzando Invoke-Command -ScriptBlock Get-EventLog system -Newest 50
o su un computer remoto “Server01” utilizzando Invoke-Command -ScriptBlock Get-EventLog system -Newest 50 -ComputerName Server01
.
Invoke-Expression [iex]
Invoke-Expression esegue un altro comando o espressione. Se stai fornendo un'espressione o una stringa come input, questo comando prima lo valuta, poi lo esegue, ma funziona anche solo localmente, a differenza del comando precedente.
Devi digitare Invoke-Expression
seguito da un comando o un'espressione. Ad esempio, puoi assegnare una variabile “$ comando” con una stringa che dice il comando “Get-Process”. Quando corri Invoke-Expression $ Command
, “Get-Process” viene eseguito come comando sul tuo computer locale.
Invoke-WebRequest [iwr]
Puoi scarica, accedi e cerca informazioni su siti Web e servizi Web mentre si lavora su Windows PowerShell utilizzando Invoke-WebRequest.
Devi usarlo come Invoke-WebRequest
seguito dai suoi parametri. Ad esempio, è possibile ottenere i collegamenti su una determinata pagina Web utilizzando il comando come (Invoke-WebRequest -Uri "https://docs.microsoft.com") .Links.Href
.
Set-ExecutionPolicy
Sebbene la creazione e l'esecuzione di script (con estensione “ps1”) in Windows PowerShell è possibile; tuttavia, ci sono restrizioni per motivi di sicurezza. Ma tu puoi cambia il livello di sicurezza utilizzando il comando Set-ExecutionPolicy.
Puoi digitare Set-ExecutionPolicy
seguito da uno dei quattro livelli di sicurezza - Limitato, firmato a distanza, tutto firmato o non limitato usare il comando. Ad esempio, è possibile assegnare lo stato della politica limitata utilizzando Set-ExecutionPolicy -ExecutionPolicy Restricted
.
Get-Item [gi]
Se stai cercando informazioni su un oggetto in qualsiasi posizione specifica, ad esempio un file sul disco rigido, Get-Item è il modo migliore per acquisirlo in Windows PowerShell. Devi saperlo non ottiene il contenuto dell'articolo, come i file e le sottodirectory in una determinata directory, a meno che non venga specificato esplicitamente da te.
Devi digitare Get-Item
seguito da un percorso o una stringa insieme ai suoi eventuali parametri. Ad esempio, è possibile ottenere tutti gli elementi (file o cartelle) che iniziano con “M” nella directory corrente usando Ottieni-Item M *
. Insieme al contenuto delle directory, può anche ottenere il contenuto delle chiavi di registro.
Copia-oggetto [copia]
Se hai bisogno di copia file e directory sul disco di archiviazione o voci di registro e chiavi nel registro, è possibile utilizzare Copia-elemento. Funziona come il “cp” comando che abbiamo nel prompt dei comandi, ma è molto meglio.
Puoi fare uso di Copy-Item
comando a copia e rinomina gli oggetti nello stesso comando pure - dare un nuovo nome come destinazione. Ad esempio, puoi copiare e rinominare “Services.htm” a “MyServices.txt” utilizzando Copia elemento "C: \ Services.htm" -Destinazione "C: \ MyData \ MyServices.txt"
.
Rimuovi-oggetto [del]
Se desideri per eliminare elementi come file, cartelle, funzioni e chiavi e variabili del Registro di sistema, Remove-Item è il comando che fa per te. Quello che ho trovato interessante è che fornisce parametri per includere ed escludere gli oggetti.
Puoi fare uso di Rimuovi oggetto
comando a Elimina elementi da posizioni specifiche usando i parametri. Ad esempio, puoi eliminare il file “MyServices.txt” con il comando Rimuovi-elemento "C: \ MyData \ MyServices.txt"
.
Get-Content [gatto]
Quando è necessario visualizzare il contenuto di un file di testo in una posizione specifica, lo si apre e lo si legge in un editor di codice / testo come Notepad ++. In Windows PowerShell, è possibile utilizzare Get-Content a recuperare il contenuto senza aprire il file.
Ad esempio, è possibile recuperare 50 righe di contenuto di “Services.htm”, allora puoi usare Get-Content "C: \ Services.htm" -TotalCount 50
.
Set-Content [sc]
È possibile salvare il testo in file usando Set-Content, simile al “eco” comando della Shell Bash. In combinazione con Get-Content, puoi anche recuperare il contenuto di un file e copiarlo in un altro file usando questo comando.
Ad esempio, puoi digitare Set-Content
a scrivere o sostituire il contenuto di un file con nuovi contenuti. Inoltre, puoi associarlo con l'esempio del comando precedente per salvare il suo output in un nuovo file chiamato “sample.txt” utilizzando Get-Content "C: \ Services.htm" -TotalCount 50 | Set-Content "Sample.txt"
.
Ottieni-Variabile [gv]
Se stai cercando di utilizzare variabili in Windows PowerShell, il comando Get-Variable ti aiuta a visualizza i valori delle variabili. Li mostra in forma tabellare e consente di includere, escludere e utilizzare i caratteri jolly.
Puoi usare questo comando digitando Get-Variable
seguito dalle sue opzioni e parametri. Ad esempio, è possibile recuperare il valore per una variabile denominata “disc” usando il seguente codice: Get-Variable -Name "desc"
.
Set-Variabile [set]
Puoi assegnare o modificare / ripristinare il valore di una variabile usando il comando Set-Variable. Come scorciatoia, puoi anche impostare una variabile semplice usando il formato $ $ VarName = VarValue $, come $ desc = "Una descrizione"
.
Puoi usare il comando Set-Variable
seguito dai suoi parametri per impostare una variabile. Ad esempio, possiamo impostare il valore per una variabile denominata “disc” usando il comando Set-Variable -Name "desc" -Value "A Descrizione"
.
Get-Process [gps]
Di solito usiamo Task Manager per trova i processi in esecuzione sul nostro computer. In Windows PowerShell, chiunque può utilizzare Get-Process per ottenere l'elenco dei processi attualmente in esecuzione, che è possibile elaborare ulteriormente.
Puoi scrivere il comando come Get-Process
insieme alla tua query di ricerca. Ad esempio, se hai bisogno di informazioni sui processi con “Esplorare” nel loro nome, puoi digitare Get-Process * Esplora *
(notare gli asterischi).
Start-Process [saps]
Windows PowerShell lo rende facile avviare uno o più processi sul tuo computer. Ho trovato che questo comando è utile nelle app di scripting poiché è uno dei comandi must-have necessari per automatizzare un'attività.
Puoi digitare Start-Process
seguito dai suoi parametri per usare il comando. Ad esempio, puoi avviare Blocco note digitando Start-Process -FilePath "notepad" -Verb runAs
in Windows PowerShell.
Stop-Process [uccidere]
Puoi interrompere specifiche o tutte le istanze di un processo in esecuzione sul tuo computer usando il suo nome o PID (Process ID), grazie al comando Stop-Process. Ciò che lo rende avvincente è che puoi scoprire che un processo è stato fermato o meno e puoi anche interrompere i processi che non sono di proprietà o avviati dall'utente corrente.
Puoi digitare il comando Stop-Process
seguito dai suoi parametri per fermare i processi dati. Ad esempio, è possibile interrompere tutti i processi di Blocco note utilizzando il comando Stop-Process -Name "notepad"
.
Get-Service [gsv]
Quando hai bisogno informazioni su servizi specifici (in esecuzione o interrotta) sul computer, è possibile utilizzare Get-Service. Visualizza i servizi installati nel sistema e fornisce opzioni per filtrarli e includerli ed escluderli.
Se si desidera utilizzare questo comando, è possibile digitare Get-Service
seguito dai suoi parametri. Ad esempio, digitare quanto segue Get-Service | Where-Object $ _. Status -eq "Running"
per ottenere i servizi “in esecuzione” sul tuo sistema.
Start-Service [sasv]
Se lo desideri avviare un servizio sul computer, il comando Start-Service può aiutarti a fare lo stesso da Windows PowerShell. Ho trovato che è abbastanza potente per avviare un servizio anche se quel servizio è disabilitato sul tuo computer.
È necessario specificare il nome del servizio mentre si utilizza il comando Start-Service
. Per esempio, Start-Service -Name "WSearch"
avvia il servizio “Ricerca di Windows” sul tuo computer locale.
Stop-Service [spsv]
Se lo desideri interrompere i servizi in esecuzione sul tuo computer, il comando Stop-Service sarà utile. È necessario specificare il nome del servizio insieme a Stop-Servizio
. Ad esempio, digita Stop-Service -Name "WSearch"
per interrompere il servizio “Ricerca di Windows” sul tuo computer.
ConvertTo-HTML
PowerShell può fornire incredibili informazioni sul tuo sistema. Tuttavia, è presentato principalmente in un formato indigeribile, ma è possibile utilizzare ConvertTo-HTML in creare e formattare un report per analizzarlo o inviarlo a qualcuno.
Puoi usare ConvertTo-HTML
insieme con l'output di un altro comando utilizzando piping. Per esempio Get-Service | ConvertTo-HTML -Proprietà Nome, Stato> C: \ Services.htm
visualizza l'elenco di tutti i servizi e il loro stato sotto forma di un rapporto Web, che è memorizzato nel file “Services.htm”.
Questo è tutto sui comandi essenziali .