#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:
Общие параметры (включая подробные) — это определенный набор слов, которые применяются ко всем сценариям, у них также есть свои разделы в предопределенной командной справке. Если нет способа изменить этот вывод с помощью пользовательских элементов управления (с форматированием файлов), вам придется обойти это с помощью обычных параметров справки на основе комментариев