Il ciclo while è il ciclo più semplice non solo in Windows PowerShell ma anche nella totalità dei linguaggi di programmazione e rappresenta il costrutto di base per ripetere un determinato blocco di codice. La funzionalità di questo ciclo consiste nell'eseguire un blocco di codice fintantochè una determinata condizione è soddisfatta (ovvero è uguale a $true) e la convalida di tale condizione avviene prima di ogni ciclo di esecuzione.
Come è possibile osservare dalla figura che segue, la sintassi di questo ciclo è costituita semplicemente dai due elementi sopra menzionati: la condizione abilitante all'esecuzione del ciclo ed il blocco di comandi da eseguire all'interno del ciclo.
Ecco, ad esempio, come è possibile eseguire un loop infinito (è possibile utilizzare la combinazione CTRL+C per arrestare l'esecuzione dello script):
while ($true) { Write-Host "www.powershell.it" }
Naturalmente è possibile utilizzare condizioni abilitanti più complesse ed appoggiarsi a delle variabili per ottenere dei cicli dove la condizione abilitante stessa viene modificata all'interno del ciclo. Lo script che segue, ad esempio, visualizza a video i numeri da 5 a 3:
1$number = 5 2 3while ($number -gt 2) 4{ 5 Write-Host $number 6 $number = $number - 1 7}
In questo caso la condizione alla linea 3 verifica che la variabile $number sia maggiore del valore 2. L'istruzione alla linea 6, invece, decrementa il valore di $number di una unità.