Любая неназначенная переменная будет иметь значение null, а не тип данных null.Итак, просто сделайте это:
If ($ProgramName -ne $null)
... который вернет TRUE
, если ему присвоено ненулевое значение.
Еще более простая проверка -
IF($ProgramName)
Который проверит, является ли это $null
или нет, хотя логика обратная, поэтому вы можете использовать
IF(!$ProgramName)
Редактировать:
Раффин поднимает хороший вопрос о строгом режиме в комментариях.Этот метод также будет работать:
Test-Path variable:ProgramName
или Test-Path variable:global:ProgramName
, если он, например, явно глобально ограничен.Это вернет $true
или $false
в зависимости от того, существует ли переменная.