Как указано в кратком справочнике Powershell¹:
True False
~~~~ ~~~~~
$TRUE $FALSE
Any string of length > 0, except the word “false” Empty string or the string “false”
Any number ≠ 0 Any number = 0
Array of length > 1 Array of length 0
Array of length 1 whose element is true Array of length 1 whose element is false
A reference to any object Null
Я думаю, что идея заключалась в том, что массив с одним элементом $false
может легко произойти, если вы поместите вывод командлета / функции в массив. Можно ожидать большего значения, но из-за какой-то ошибки он вернул $false
, но $false
дважды в массиве в этом случае может быть маловероятным.
Или, может быть, нам следует подождать, пока Джеффри Сновер ответит здесь: -)
¹ C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Documents \ en-US \ QuadFold.rtf на моем компьютере