| ?{$_} берёт каждый элемент массива по отдельности и пропускает только те что приводятся к $true (то есть не $null, а цифра). В итоге у нас получается либо цифра(ы) (приводится к $true) либо ничего ($false). Независимо от кол-ва дисков
тексту много, правки малые и яибу что между ними меняется типа как мы с тобой 10 строку обсуждали но пока обсуждали она стала 11 и я об этом узнал посфактум