Как скрыть набор параметров PowerShell?

Скажем, у вас есть и старый, устаревший набор параметров, и новый набор параметров:

SYNTAX
    Get-FooBar -SomeCommonParameter <string> -NewParameter <NewResourceType>

    Get-FooBar -SomeCommonParameter <string> -OldParameter <OldResourceType>

Я хочу, чтобы оба набора параметров продолжали работать, чтобы сохранить совместимость с существующими сценариями, но я не хочу, чтобы старый устаревший набор параметров появлялся в Get-Help выход. Или, по крайней мере, четко помечены как устаревшие в рамках SYNTAX раздел Get-Help,

DontShow свойство атрибута параметра в PowerShell 4.0 немного помогает, так как тогда IntelliSense/tab не будет использовать его, но набор параметров по-прежнему отображается в Get-Help выход.

В настоящее время мы используем PowerShell 3.0, но я не думаю, что обновление версии PowerShell, на которую мы нацелены, будет блокирующим.

1 ответ

Вы меняете имена, или функциональность также отличается? Если вы просто меняете имена, сделайте новое имя именем параметра и alias старые имена.

Если вы меняете функциональность, dbatools Модуль выполняет следующие действия:

  • Укажите в справке на основе комментариев, что параметр устарел (перед описанием параметра)
  • Проверяет устаревшие имена параметров с помощью внутренней функции и предоставляет пользователю предупреждающее сообщение, если оно им воспользовалось.

Пример: Get-DbaDiskSpace звонки Test-DbaDeprecation от его begin блок. Test-DbaDeprecation анализирует вызов функции, чтобы найти использование переданного (устаревшего) имени параметра.

Другие вопросы по тегам