Как скрыть набор параметров 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
анализирует вызов функции, чтобы найти использование переданного (устаревшего) имени параметра.