Получать-справка поддержки для пользовательского PowerShell cmdlet

Я создал некоторый пользовательский PowerShell Cmdlets в C# и хотел бы предоставить некоторую информацию, которая будет отображена с помощью получать-справки cmdlet; например, "получать-справка мой-cmdlet".

Я создал основной обрыв, происходящий из PSSnapIn, и переопределил Описание, свойства Name и Vendor. Я также создал свой справочный файл "Cmdlets.dll-Help.xml". Cmdlets.dll является корректным названием блока, как проинструктировано здесь.

Я создал следующий сценарий для быстрого проверения этой справки:

$ErrorActionPreference = "Stop"
$scriptFolder = Split-Path $script:MyInvocation.MyCommand.Path

$dll = ($scriptFolder + "\Release\x64\Cmdlets.dll")
Write-Host "Testing Cmdlets in $dll" -fore Green

[System.Reflection.Assembly] $assembly = [System.Reflection.Assembly]::LoadFrom($dll)
Import-Module -assembly $assembly

get-help get-latestfiles

Это, кажется, просто поднимает некоторую справку по умолчанию о cmdlet параметрах, но не удается получить любой из моих примеров, которые я записал в XML-файле. У кого-либо есть какие-либо мысли о том, почему это?

5
задан Pontus Gagge 19 February 2010 в 15:21
поделиться

2 ответа

Похоже, что было две проблемы, из-за которых моя помощь не работала. Первая заключалась в том, что XML необходимо скопировать в выходной каталог Cmdlet DLL для того, чтобы Powershell его подхватил.

Вторая причина, похоже, заключалась в ошибке в моем файле справки. Я не уверен, что это было, но Powershell, похоже, просто молча завершил работу, несмотря на то, что предпочтение действия при ошибке было установлено на остановку. В итоге я взял XML прямо из C:\Windows\System32\WindowsPowerShell\v1.0\en-US\Microsoft.PowerShell.Commands.Management.dll-Help.xml и изменил его под свои нужды.

2
ответ дан 15 December 2019 в 06:24
поделиться

Get-Help показывает только подмножество справка для командлета по умолчанию. Укажите -Full, чтобы увидеть справку по параметрам и ваши примеры:

Get-Help Get-LatestFiles -Full

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

1
ответ дан 15 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: