In PowerShell, foreach e % sono alias di default a ForEach-Object. Tuttavia, sembra che il comando si comporti in modo diverso a seconda di come viene chiamato.
In particolare, ho difficoltà a far funzionare il comando senza alimentarlo dall'input dalla pipeline, a meno che non utilizzi specificamente il comando foreach alias.

C'è qualcosa che sto sbagliando qui, o è questo in base alla progettazione per qualche motivo?
foreach,ForEach-Object, e%. Può anche essere abbreviato1..3|%{$_}. :-)