La maggior parte di noi preferisce PowerShell per le sue capacità di automazione. È una shell a riga di comando con un linguaggio di scripting completamente sviluppato. È possibile utilizzare i cmdlet integrati o scrivere il proprio script per automatizzare le attività amministrative di Windows e altri sistemi operativi compatibili. Ti consente di fare tutto ciò che puoi fare con le app della GUI e altro ancora.
Tuttavia, padroneggiare la funzionalità e la flessibilità di PowerShell comporta una curva di apprendimento ripida. Se hai appena iniziato con PowerShell, ecco i comandi essenziali che puoi imparare per padroneggiare questo linguaggio di scripting a lungo termine.
1. Ottenere aiuto
Ottenere aiuto, come suggerisce il nome, fa parte del sistema di guida integrato di PowerShell. Ti aiuta a trovare le informazioni necessarie per il comando, i concetti e le funzioni, identificare alias, script e altro.
Per ottenere assistenza per un cmdlet di PowerShell, è necessario utilizzare il cmdlet Get-help seguito da un nome di cmdlet. Ad esempio, per visualizzare la sinossi e la sintassi associate al cmdlet get-process, digitare:
Ottenere-AiutoOttenere-Processi
Questo comando può leggere sia la guida basata su commenti che quella basata su XML fornita dall'autore della funzione.
In alternativa, puoi utilizzare il Get-Help -online comando per ottenere assistenza per un cmdlet di PowerShell online. Ad esempio, per visualizzare la documentazione in linea di Microsoft per il Ottieni contenuto cmdlet, digitare:
Ottenere-AiutoOttenere-Contenuto -in linea
2. Get-processo
IL Get-processo Il comando ti aiuta a recuperare e mostrare un elenco di tutti i processi di sistema attivi con i loro identificatori (ID). Puoi usarlo come un alternativa efficiente al Task Manager di Windows per visualizzare, arrestare e riavviare i processi di sistema.
Ad esempio, se devi interrompere il processo GameBar, devi prima trovare l'ID del processo ad esso associato. Quindi, digita:
Get-processo
Questo comando mostrerà tutti i processi di sistema in esecuzione. Successivamente, trova l'ID associato al processo che desideri interrompere. Per interrompere il processo, digitare:
Get-processo -ID 20496 | Fermare-Processi
Qui -ID 20496 è l'ID del processo (GameBar) che vuoi interrompere.
3. Processo di avvio
Puoi usare il Processo di avvio cmdlet in PowerShell per avviare uno o più processi in un computer locale. Per utilizzare il cmdlet, digitare Start-Process seguito dal nome del processo. Ad esempio, se desideri avviare un nuovo processo del blocco note, digita:
Inizio-Blocco note di processo
Inoltre, puoi utilizzare i parametri di Start-Process per specificare le opzioni. Ad esempio, se devi avviare un processo come amministratore, digita:
Start-Processo -FilePath "bloc notes" -Verbo runAs
4. Ottieni-comando
IL Ottieni-comando ti consente di visualizzare tutti i comandi di PowerShell installati sul tuo computer. Analogamente a Get-Help, puoi utilizzare Get-Command seguito da una query di ricerca per trovare i comandi per una funzione specifica.
Poiché Get-Command visualizza tutti i comandi, è possibile specificare i parametri per trovare le funzionalità con un nome e un tipo di comando specifici. Ad esempio, per trovare i cmdlet (CommandTypes) che iniziano con A (Nome), digitare:
Get-Command -Name A* -CommandType cmdlet
In alternativa, digitare Get-Help Get-Command -Esempi per visualizzare altri esempi.
5. Get-Service
IL Get-Service cmdlet consente di visualizzare lo stato del computer e l'elenco dei servizi. Per impostazione predefinita, il comando Get-Service restituisce tutti i servizi (interrotti e in esecuzione).
È possibile utilizzare i parametri per specificare e trovare i servizi in base al relativo stato, nome e servizi dipendenti. Ad esempio, per visualizzare tutti i servizi che iniziano con il nome Win, digitare:
Get-Service -Nome "Vincita*"
6. Get-ChildItem
Puoi usare PowerShell per cercare tra le directory. IL Get-ChildItem command è un utile cmdlet per cercare cartelle e file ed eseguire rapidamente ricerche basate sul contenuto senza utilizzare Esplora file.
Per visualizzare tutte le cartelle di primo livello nella directory C:\, digitare:
Get-ChildItem "C:\"
Inoltre, usa il -Sentiero parametro per visualizzare una particolare cartella, sottocartelle e contenuto. Ad esempio, per visualizzare tutte le sottocartelle e i file nella cartella Programmi, digitare:
Get-ChildItem -Percorso "C:\Programmi"
Inoltre, usa il -Ricorso parametro per visualizzare tutti i file nella cartella specificata e il -Nome parametro per visualizzare i nomi degli elementi in una directory.
Get-ChildItem -Percorso "C:\Programmi\Fodler_Name" -Ricorrenza | Seleziona Nome completo
Nel comando precedente, sostituisci sottocartella con il nome della cartella per visualizzarne il contenuto.
7. Copia-Articolo
IL Copia-Articolo cmdlet consente di copiare e incollare file e cartelle e il loro contenuto in una directory diversa. Per copiare file e cartelle, digitare Copia-Articolo seguito dalla fonte -Sentiero, -Destinazione parametro e indirizzo di destinazione. Ad esempio, per copiare E:\Cartella1 e il suo contenuto a E:\Cartella2, tipo:
Copia-Articolo "E:\Cartella1" -Destinazione "E:\Cartella2" -Ricorso
Si noti che il -Ricorso parametro nel comando precedente è responsabile dello spostamento di tutto il contenuto della cartella. Senza di esso, PowerShell copierà solo la cartella di primo livello (Folder1) e i file specificati nel comando.
8. Sposta oggetto
Allo stesso modo, per spostare un oggetto, puoi usare il Sposta oggetto cmdlet. Ad esempio, per spostare la cartella, i file, le sottocartelle e tutto il relativo contenuto nella destinazione specificata, digitare:
Sposta-Elemento -Percorso "E:\Cartella1" -Destinazione "E:\Cartella2"
9. Rimuovi oggetto
IL Rimuovi oggetto cmdlet consente di eliminare file, cartelle, funzioni e altri tipi di dati dalla directory specificata. Ad esempio, per eliminare il file Test.txt nella cartella E:\Folder1, digitare:
Rimuovi oggettoE:\Cartella1\Test.TXT
10. Ottieni contenuto
IL Ottieni contenuto cmdlet consente di visualizzare il contenuto di un elemento item senza utilizzare un editor di testo. Ad esempio, per recuperare il contenuto del file Test.txt, digitare:
Ottieni contenuto "E:\Cartella1\Test.txt"
È possibile specificare ulteriormente la lunghezza del contenuto da visualizzare utilizzando il file -Conteggio totale parametro.
11. Clear-Contenuto
Puoi usare il Clear-Contenuto cmdlet per eliminare il contenuto di un file specificato senza eliminare il file stesso. Utile per l'automazione delle attività in cui si dispone di un nome file codificato ma si desidera avere un file pulito ogni volta che viene eseguito lo script.
Per testare il comando, crea un file di testo con del contenuto al suo interno. Successivamente, digita:
Clear-Contenuto -Percorso "E:\Cartella1\Test1.txt"
Questo eliminerà il contenuto del file senza eliminare il file.
12. Set-ExecutionPolicy
Il criterio di esecuzione predefinito in PowerShell è impostato su Limitato. Ciò impedisce l'esecuzione di script dannosi nell'ambiente PowerShell. Tuttavia, quando si esegue uno script PowerShell locale, è possibile che lo script di esecuzione sia disabilitato su questo errore di sistema.
IL Set-ExecutionPolicy i cmdlet consentono di modificare i livelli di sicurezza per l'esecuzione degli script. Per conoscere la tua attuale politica di esecuzione, digita:
Get-ExecutionPolicy
Se devi eseguire uno script non firmato, in un prompt di PowerShell con privilegi elevati, digita:
Impostato-ExecutionPolicy RemoteSigned
Altri valori Set-ExecutionPolicy validi includono Limitato, Tutto firmato, E Senza restrizioni.
13. Imposta posizione
Per impostazione predefinita, PowerShell utilizza C:\Utenti\Nome utente come directory di lavoro predefinita. IL Imposta posizione cmdlet consente di impostare la directory di lavoro corrente in una posizione specificata. Utile se si desidera eseguire uno script o un comando da una posizione specifica senza dover specificare ogni volta il percorso.
Ad esempio, impostare C:\Utenti\Nome utente\Documenti come directory di lavoro corrente, digitare:
Imposta posizione "C:\Users\usrename\Documents"
Questa è una misura temporanea in quanto PowerShell ripristinerà la directory di lavoro alla sua directory predefinita dopo il riavvio.
14. Esporta-CSV
Se desideri esportare e presentare l'output di PowerShell in modo più organizzato, puoi utilizzare il file Esporta-CSV cmdlet. Prende il file di output per il comando specificato e lo converte in un file CSV.
Per testare il comando, prova il seguente comando:
Get-processo | Esporta-CSV PSprocess.csv
Il comando precedente creerà un file psporcess.csv file con tutti i dati dei processi attivi.
15. ConvertTo-HTML
Se preferisci creare un report HTML, puoi utilizzare il file ConvertTo-HTML Cmdlet. Per creare un report HTML per tutti i processi in esecuzione sul tuo PC, digita:
Get-processo | ConvertTo-HTML > PSprocess.html
Nel comando precedente, psprocess è il nome del file di esportazione e HTML è l'estensione. È possibile accedere al file HTML esportato nella directory di lavoro corrente situata in C:\Users\username.
16. Ottieni cronologia
Puoi usare il Sottosopra tasto freccia per scorrere i comandi eseguiti di recente in PowerShell. Tuttavia, per visualizzare contemporaneamente un elenco di tutti i comandi eseguiti di recente nella sessione corrente, è possibile utilizzare il file Ottieni cronologia cmdlet.
Visualizzerà un elenco di tutti i comandi eseguiti di recente con il loro ID. Utile se si vuole visualizzare il contesto completo dei comandi precedentemente eseguiti. Per fare ciò, digita:
Ottieni ID cronologia | fl
Ad esempio, per visualizzare i dettagli di esecuzione come lo stato, l'ora di inizio e di fine e la durata del terzo comando, digitare:
Ottenere-storia 3 | fl,
Per eseguire nuovamente qualsiasi comando dall'elenco, digitare:
Invoke-History seguito dal file comando id
Per esempio, tipo Invoke-Cronologia 3 per eseguire nuovamente un comando eseguito in precedenza senza digitarlo nuovamente.
Inoltre, usa Cancellare la cronologia per cancellare la cronologia per la sessione corrente.
Ora che hai un'idea di base dei comandi di PowerShell, vai avanti ed esplora la nostra guida al meglio Cmdlet di PowerShell per migliorare le tue capacità di amministrazione di Windows. Qui puoi imparare a lavorare con i dati usando cmdlet, tabelle di formato ed elenchi e una rapida panoramica del comando Get-Member.
Comandi di PowerShell per semplificare le tue attività
PowerShell è noto per le sue capacità di automazione. Questo può aiutarti ad automatizzare centinaia di attività nel tuo lavoro di sviluppo per risparmiare tempo e migliorare la produttività.
Mentre abbiamo coperto solo i comandi di base, prova a esplorare la sintassi, gli alias e le variabili, funzioni disponibili su molti di questi comandi per padroneggiare questo linguaggio di scripting altamente efficiente.