Иногда бывает необходимо проверить, имеет ли переменная какое либо значение. Казалось бы, самый простой способ — это сравнить ее с встроенной переменной $null, примерно так:
if ($var -eq $null) {Write-Host ″My variable is NULL″}
Однако этот способ лучше не использовать. Он не очень надежен и периодически выдает совсем не то, что ожидаeшь. Для того, чтобы проверить, имеет ли переменная значение $null, лучше применять такой вариант:
if (!$var) {Write-Host ″My variable is NULL″}
А проверить, имеет ли переменная какое либо значение, отличное от $null, можно так:
if ($var) {Write-Host ″My variable is NOT NULL″}
Ну, извините, конечно. Но неужели прежде чем это писать и использовать не хотелось/не нужно было проверить? В вашем варианте любые пустые значения, как 0, », false, пустой ArrayList, возможно некоторые другие коллекции, будут определяться как null… пустой hashtable определеяется не как null. И на последок, в сообщениях где нет нужды в заменах переменных используйте одинарные кавычки.