Crea sito
25 Ottobre 2020

Officine Informatiche Roma

ICT SERVICES ROMA – BAZAAR INFORMATICO

WINDOWS – 20 comandi di Windows PowerShell da conoscere

7 min read



20 comandi di Windows PowerShell da conoscere

 

Windows PowerShell è la nuova shell della riga di comando, che è più potente e programmabile di Command Prompt. Nei miei tre anni di esperienza nell’uso, l’ho trovato davvero utile, specialmente se si tratta di attività di automazione o di scripting . Tuttavia, molti di noi non lo sanno o non preferiscono usarlo al posto della vecchia shell della riga di comando.

In questo post, condividerò comandi utili e semplici (con esempi) di Windows PowerShell. È possibile utilizzare questi comandi per eseguire numerose attività, dall’assistenza ai processi di avvio. Iniziamo?

Nota: Windows PowerShell è progettato tenendo presente la compatibilità con le versioni precedenti e supporta quindi molti comandi del prompt dei comandi. Detto questo, puoi continuare a usare i vecchi comandi nella sua nuova, 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 le informazioni necessarie su cmdlet, comandi, funzioni, script e flussi di lavoro di PowerShell.

Inoltre, è facile: devi digitare Get-Help seguito dal comando, di cui, cerchi 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 funzione specifica o per uno scopo specifico in base ai parametri di ricerca.

È sufficiente digitare Get-Command seguito dalla query di ricerca in PowerShell. Ad esempio, Get-Command *-service* visualizza i comandi con “-service” nel suo nome. 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 desideri eseguire un comando o uno script di PowerShell, in locale o in remoto, su uno o più computer, “Invoke-Command” è tuo amico. È facile da usare e ti aiuta a controllare i computer in modo batch.

È necessario digitare Invoke-Command seguito dal comando o dallo script con il suo percorso completo. Ad esempio, è possibile 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.

È necessario digitare Invoke-Expression seguito da un comando o un’espressione. Ad esempio, è possibile assegnare una variabile “$ Command” con una stringa che indica il comando “Get-Process”. Quando si esegue Invoke-Expression $Command, “Get-Process” viene eseguito come comando sul computer locale.

Invoke-WebRequest [iwr]

È possibile scaricare, accedere e acquisire 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 as (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 sia possibile; tuttavia, esistono restrizioni per motivi di sicurezza. Ma puoi cambiare il livello di sicurezza usando il comando Set-ExecutionPolicy.

È possibile digitare Set-ExecutionPolicy seguito da uno dei quattro livelli di sicurezza – Restricted, Remote Signed, All Signed o Unrestricted per utilizzare 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 elemento in un dato luogo, ad esempio un file sul disco rigido, Get-Item è il modo migliore per acquisirlo in Windows PowerShell. È necessario sapere che non ottiene il contenuto dell’elemento, ad esempio file e sottodirectory in una determinata directory, a meno che non venga specificato esplicitamente dall’utente.

È necessario digitare Get-Item seguito da un percorso o una stringa insieme ai relativi parametri, se presenti. Ad esempio, è possibile ottenere tutti gli elementi (file o cartelle) che iniziano con “M” nella directory corrente utilizzando Get-Item M* . Insieme al contenuto delle directory, può anche ottenere il contenuto delle chiavi di registro.

Copia-oggetto [copia]

Se è necessario copiare file e directory sul disco di archiviazione o voci di registro e chiavi nel registro, è possibile utilizzare Copia-Elemento. Funziona in modo simile al comando “cp” che abbiamo nel prompt dei comandi, ma è molto meglio.

È possibile utilizzare il comando Copy-Item per copiare e rinominare gli oggetti con lo stesso comando – assegnare un nuovo nome come destinazione. Ad esempio, è possibile copiare e rinominare “Services.htm” in “MyServices.txt” utilizzando Copy-Item "C:\Services.htm" -Destination "C:\MyData\MyServices.txt" .

Rimuovi-oggetto [del]

Se desideri 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.

È possibile utilizzare il comando Remove-Item per eliminare elementi da posizioni specifiche utilizzando i parametri . Ad esempio, è possibile eliminare il file “MyServices.txt” con il comando Remove-Item "C:\MyData\MyServices.txt" .

Get-Content [cat]

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 per recuperare il contenuto senza aprire il file.

Ad esempio, è possibile recuperare 50 righe di contenuto di “Services.htm”, quindi è possibile utilizzare Get-Content "C:\Services.htm" -TotalCount 50 .

Set-Content [sc]

È possibile salvare il testo in file utilizzando Set-Content, in modo simile al comando “echo” di Bash Shell. In combinazione con Get-Content, puoi anche recuperare il contenuto di un file e copiarlo in un altro file usando questo comando.

Ad esempio, è possibile digitare Set-Content per scrivere o sostituire il contenuto di un file con nuovi contenuti. Inoltre, puoi associarlo con l’esempio del precedente comando per salvare il suo output in un nuovo file chiamato “Sample.txt” usando Get-Content "C:\Services.htm" -TotalCount 50 | Set-Content "Sample.txt" Get-Content "C:\Services.htm" -TotalCount 50 | Set-Content "Sample.txt" .

Ottieni-Variabile [gv]

Se si sta cercando di utilizzare le variabili in Windows PowerShell, il comando Get-Variable consente di visualizzare i valori delle variabili . Li mostra in forma tabellare e consente di includere, escludere e utilizzare i caratteri jolly.

È possibile utilizzare questo comando digitando Get-Variable seguito dalle sue opzioni e parametri. Ad esempio, è possibile recuperare il valore per una variabile denominata “desc” utilizzando il seguente codice: Get-Variable -Name "desc" .

Set-Variabile [set]

È possibile assegnare o modificare / ripristinare il valore di una variabile utilizzando il comando Imposta-Variabile. Come scorciatoia, puoi anche impostare una variabile semplice usando il formato $ { $ VarName = VarValue } $, come $desc = "A Description" .

È possibile utilizzare il comando Set-Variable seguito dai suoi parametri per impostare una variabile. Ad esempio, possiamo impostare il valore per una variabile denominata “desc” utilizzando il comando Set-Variable -Name "desc" -Value "A Description" .

Get-Process [gps]

Di solito usiamo Task Manager per trovare 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.

È possibile scrivere il comando come Get-Process insieme alla query di ricerca. Ad esempio, se hai bisogno di informazioni sui processi con “esplora” nel loro nome, puoi digitare Get-Process *explore* (nota gli asterischi).

Start-Process [saps]

Windows PowerShell semplifica l’ avvio di 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à.

È possibile digitare Start-Process seguito dai relativi parametri per utilizzare il comando. Ad esempio, è possibile avviare Blocco note digitando Start-Process -FilePath "notepad" -Verb runAs in Windows PowerShell.

Stop-Process [kill]

È possibile interrompere specifiche o tutte le istanze di un processo in esecuzione sul proprio computer utilizzando il suo nome o PID (ID processo), 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.

È possibile digitare il comando Stop-Process seguito dai relativi parametri per arrestare i processi specificati. Ad esempio, è possibile interrompere tutti i processi di Blocco note utilizzando il comando Stop-Process -Name "notepad" .

Get-Service [gsv]

Quando hai bisogno di informazioni su servizi specifici (in esecuzione o arrestati) sul tuo computer, puoi 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 relativi parametri. Ad esempio, digitare il seguente Get-Service | Where-Object {$_.Status -eq "Running"} Get-Service | Where-Object {$_.Status -eq "Running"} per far funzionare i servizi sul proprio sistema.

Start-Service [sasv]

Se desideri avviare un servizio sul tuo 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 . Ad esempio, Start-Service -Name "WSearch" avvia il servizio “Ricerca di Windows” sul tuo computer locale.

Stop-Service [spsv]

Se desideri interrompere i servizi in esecuzione sul tuo computer, il comando Stop-Service sarà utile. È necessario specificare il nome del servizio insieme a Stop-Service . Ad esempio, digitare Stop-Service -Name "WSearch" per interrompere il servizio “Ricerca di Windows” sul computer.

ConvertTo-HTML

PowerShell può fornire incredibili informazioni sul tuo sistema. Tuttavia, viene presentato principalmente in un formato indigeribile, ma è possibile utilizzare ConvertTo-HTML per creare e formattare un report per analizzarlo o inviarlo a qualcuno.

È possibile utilizzare ConvertTo-HTML insieme all’output di un altro comando tramite piping. Ad esempio Get-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm Get-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm visualizza l’elenco di tutti i servizi e il loro stato sotto forma di un report Web, che è memorizzato nel file “Services.htm”.

Questo è tutto sui comandi essenziali che devi sapere su Windows PowerShell.

Translate »