Este é um "recurso" do Powershell. Seu $backups
pode conter vários $null
valores, além de não nulos, portanto, o Powershell deve iterar o objeto para processar o foreach
. O fato de nós dois vermos $backup
como um escalar de valor único ( $null
neste caso) não importa, para MS pelo menos ...:)
Veja este Relatório de Bug do Microsoft Connect para obter mais detalhes - É" corrigido "no Powershell v3.
Na v2:
PS H:\> foreach ( $i in $null ) { "Hi" }
Hi
Na v3:
PS H:\> foreach ( $i in $null ) { "Hi" }
(sem saída)