У меня есть PowerShell script, который должен запускаться под несколькими хостами (PowerGUI, PowerShell ISE и т.д.), но я У меня проблема, когда иногда какой-то командлет не существует под одним из хостов. Есть ли способ проверить, существует ли командлет, чтобы я мог обернуть код в блок if и сделать что-то еще, когда он не существует?
Я знаю, что я мог бы использовать $host.name
для разделения кода, который предполагается запускать на каждом хосте, но я бы предпочел использовать Функция обнаружения вместо этого, если командлет когда-либо будет добавлен в будущем.
Я также мог бы использовать блок try/catch, но поскольку он работает в управляемом коде, я предполагаю, что вам нужно выяснить, установлен ли командлет с помощью кода.