Мой последний тест перед публикацией вопроса дал ответ:
Кажется, команды '#Requires' предназначены для выхода из сценария, если он не соответствует требованиям, а не для сообщения об ошибке,и проверка его в одной строке приведет к ошибке.
Для проверки найдите версию PowerShell (например, 5.1) и сохраните следующую транспонированную версию 5.1 с вашей версией (major.minor):
#Requires -version 5.1
$PSVersionTable.PSVersion
Read-Host
Это будет работать как на ISE, так и на консоли, предоставляя вывод, даже если 'Run with PowerShell'.
- Использование отдельной строки #Requires - (any) отобразит ошибку,
- В ISE 'Выбор запуска' будет работать, если он сопровождается другой строкой кода.
- Использование ISE, если параметр #Requires не совпадаетВаш, это вызовет более описательную ошибку.Если запустить в консоли, он сломается и закроется.