Tutorial di scripting di Windows PowerShell
La scrittura di script PowerShell ti consente di automatizzare attività ripetitive di Windows e Active Directory, dalla generazione di report all'aggiornamento di massa degli account. Questo tutorial inizia dalle basi: variabili, pipeline, cicli e funzioni, per poi arrivare a script che puoi eseguire oggi stesso. Scarica la guida completa per walkthrough dettagliati sulla gestione degli account e dei computer AD, le attività del file system e la pianificazione degli script, così avrai script funzionanti a portata di mano quando ti servono.
Scarica il tutorial di scripting dei comandi PowerShell (PDF)
Come si scrive uno script PowerShell?
Uno script PowerShell è un file di testo semplice salvato con l'estensione .ps1. Puoi scriverne uno in qualsiasi editor di testo, anche se la maggior parte delle persone usa Visual Studio Code con l'estensione PowerShell per evidenziazione della sintassi, completamento automatico e debug integrato. Scrivi i tuoi comandi uno per riga, salva il file ed eseguilo.
Inizia in piccolo. Uno script di due righe che ottiene un valore e lo stampa ti insegna il ciclo base su cui si basa ogni utente PowerShell: scrivi, esegui, modifica. Aggiungi un commento con un # all'inizio di una riga per indicare cosa fa una sezione, poiché gli script che leggi mesi dopo raramente si spiegano da soli. Questo tutorial costruisce ogni concetto sul precedente, così un principiante può seguirlo dall'inizio alla fine.
Quali sono i comandi base di PowerShell?
I comandi di PowerShell, chiamati cmdlet, seguono un modello verbo-sostantivo che li rende facili da leggere e intuire: Get-, Set-, New-, e Remove-. Una manciata di cmdlet copre la maggior parte delle attività del primo giorno:
Get-Help: cerca la sintassi e gli esempi per qualsiasi cmdletGet-Command: elenca tutti i cmdlet disponibili nella tua sessioneGet-Member: visualizza le proprietà e i metodi di un oggettoGet-Process: visualizza i processi in esecuzioneGet-ChildItem: elenca file, cartelle o chiavi del registro
Digita Get-Help <cmdlet name> -Examples ogni volta che hai bisogno di un ripasso, poiché l'aiuto integrato di PowerShell copre quasi tutti i cmdlet disponibili. Il cheat sheet li raggruppa per attività, così non devi cercare a metà script.
Come si esegue uno script PowerShell?
Apri PowerShell, vai alla cartella dello script ed eseguilo con .\scriptname.ps1. Se appare un messaggio che dice che lo script non può essere caricato perché l'esecuzione degli script è disabilitata, è la policy di esecuzione di PowerShell a bloccarlo, non il tuo script.
La policy di esecuzione ha diversi livelli, da bloccato a completamente aperto, e scegliere quello sbagliato può lasciarti bloccato o esporre i tuoi sistemi. La guida illustra ogni livello, quale offre il giusto equilibrio per lo scripting quotidiano e il comando esatto per impostarlo in sicurezza.
Come si usano variabili, cicli e funzioni?
Le variabili memorizzano valori con un $ prefisso, come $name = "Server01". Possono contenere testo, numeri o interi oggetti, e PowerShell determina il tipo per te.
I loop ripetono un'azione su una raccolta. Un foreach è il loop a cui farai più spesso riferimento:
foreach ($user in $users) {
Write-Host $user.Name
}
Le funzioni raggruppano la logica riutilizzabile, così la scrivi una volta e la richiami spesso:
function Get-Greeting($name) {
"Hello, $name"
}
Ogni concetto ha un breve esempio eseguibile che puoi incollare e adattare.
Cosa puoi automatizzare con PowerShell in Active Directory?
Il modulo ActiveDirectory di PowerShell, installato con RSAT (Remote Server Administration Tools), aggiunge cmdlet creati appositamente per le attività di directory. Vantaggi comuni:
- Rapporto sugli account inattivi con
Search-ADAccount -AccountInactive - Trova utenti in una OU specifica con
Get-ADUser -SearchBase - Reimposta password in blocco con
Set-ADAccountPassword - Verificare l'appartenenza al gruppo con
Get-ADGroupMember
Gli esempi pratici in questo tutorial mostrano il modello per ciascuno, così puoi adattarli al tuo ambiente senza partire da uno script vuoto.
Per i team che preferiscono non mantenere script a lungo termine, gli strumenti appositamente creati coprono lo stesso AD reporting e change tracking senza codice personalizzato.
Domande frequenti
Condividi su