Можете ли вы предоставить дополнительную справку по общим параметрам в сценарии PowerShell?

#powershell #parameters

#powershell #параметры

Вопрос:

Я написал сценарий, который использует Write-Verbose и общий параметр -verbose . Теперь я хотел бы предоставить пользователю дополнительную информацию о том, что происходит, когда они указывают -verbose via Get-Help . Я пытался сделать это как обычные параметры, но когда я запускаю Get-Help скрипт, он не распознается.

 <#
.PARAMETER verbose
Help text for Get-Help
#>
 

Есть ли какой-нибудь способ красиво представить текст справки или мне нужно «злоупотреблять».DESCRIPTION?

Ответ №1:

Я не думаю, что это возможно, и вы, кажется, подтвердили это.

Вместо использования DESCRIPTION я мог бы рассмотреть NOTES раздел, в который вы могли бы включить эту информацию.

В качестве альтернативы, если добавление -Verbose в первую очередь влияет на работу одного существующего параметра, возможно, лучше всего включить информацию во встроенную справку по этому параметру.

Еще одна вещь, которую я отмечу: вы, вероятно, не хотите, чтобы эта информация была связана с -Verbose параметром в любом случае, поскольку это не единственный способ отображения подробного вывода.

Например, если вызывающий объект настроен $VerbosePreference на просмотр подробного вывода -Verbose , параметр не будет привязан, однако условия для его отображения все равно будут правильными.

Ответ №2:

Расширенная функция, определяемая либо [CmdletBinding] атрибутом, либо по крайней мере одним параметром, украшенным [Parameter] атрибутом, уже включает общие параметры, поэтому вы не можете определить ее снова.

Если вы сделаете это простой функцией вместо расширенной функции, вы можете определить ее отдельно.

 function Test-Function {

    <#
        .PARAMETER verbose
        Additional help text for Get-Help
    #>

    param (
        [switch]
        $Verbose
    )
    
    begin {
        
    }
    
    process {
        
    }
    
    end {
        
    }
}

Get-Help Test-Function -Full
 

Как правило, не рекомендуется использовать автоматические / зарезервированные имена переменных.

введите описание изображения здесь

Ответ №3:

Общие параметры (включая подробные) — это определенный набор слов, которые применяются ко всем сценариям, у них также есть свои разделы в предопределенной командной справке. Если нет способа изменить этот вывод с помощью пользовательских элементов управления (с форматированием файлов), вам придется обойти это с помощью обычных параметров справки на основе комментариев