2015-12-31 4 views
2

Когда я добавляю раздел справки к моему сценарию, командлет Get-Help отображает другой синтаксис. Вот MWE:Синтаксис изменяется при использовании справки .Synopsis

#Require -Version 4.0 
function global:Test-Syntax { 
    <# 
    .Synopsis 
     Cmdlet tests ValidateSet 
    #> 
    [CmdletBinding()] 
    # parameter check 
    param (
     [ValidateSet("one", "two", "three")] 
     [string]$testparam 
    ) 
    Write-Verbose "`$testparam: $testparam" 
} 

Get-Help Test-Syntax показывает следующее синтаксической разделе:

SYNTAX 
    Test-Syntax [[-testparam] <String>] [<CommonParameters>] 

После того как я удалить .Synopsis или помощь весь раздел, я получаю следующее из Get-Help:

SYNTAX 
    Test-Syntax [[-testparam] <string> {one | two | three}] [<CommonParameters>] 

Я хотел бы иметь второй, потому что пользователь напрямую получает информацию о проверенном наборе. Как я могу получить эту помощь с определенным .Synopsis?

ответ

0

Это похоже на ошибку в том, как синтаксис генерируется автоматически при наличии справки по комментариям.

В качестве обходного пути вы можете написать файл maml и использовать комментарий .ExternalHelp. Это неудачный обходной путь, потому что maml нелегко писать, я бы рекомендовал использовать инструмент, есть хотя бы один коммерческий продукт или бесплатные на github/codeplex.

Я хотел бы предложить открытие пункта здесь: https://windowsserver.uservoice.com/forums/301869-powershell

+0

Я открыл нить здесь: https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11290704-syntax-changes-when-using- помощь, как-конспект – Dirk