2010-02-19 13 views
5

Mam utworzone niestandardowe cmdlet PowerShell w języku C# i chciałbym podać niektóre informacje do wyświetlenia za pomocą cmdletu get-help; na przykład "get-help my-cmdlet".Obsługa Get-Help dla niestandardowego cmdlet PowerShell

Utworzyłem podstawowy snapin wywodzący się z PSSnapIn i nadpisałem właściwości Opis, Nazwa i Dostawca. Stworzyłem także mój plik pomocy "Cmdlets.dll-Help.xml". Cmdlets.dll jest poprawną nazwą zespołu zgodnie z instrukcją here.

stworzyłem następujący skrypt, aby szybko przetestować tę pomoc się:

$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 

To wydaje się po prostu pojawić się jakieś domyślnego pomoc o parametrach komandletu ale nie któryś z moich przykładów mam napisane w XML plik. Czy ktoś ma jakiekolwiek przemyślenia na temat tego, dlaczego tak jest?

Odpowiedz

2

Wygląda na to, że nie było dwóch problemów, aby moja pomoc nie działała. Po pierwsze, plik XML musi zostać skopiowany do katalogu wyjściowego biblioteki DLL Cmdlet, aby można było pobrać pakiet Powershell.

Drugi powód wydaje się być błędem w moim pliku pomocy. Nie jestem pewien, co to było, ale Powershell po prostu nie działał bezgłośnie, mimo że preferencja działania błędu została zatrzymana. Skończyłem z XML-em prosto z C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ en-US \ Microsoft.PowerShell.Commands.Management.dll-Help.xml i modyfikując go zgodnie z moimi potrzebami.

1

Program Get-Help wyświetla domyślnie tylko część pomocy dla polecenia cmdlet. Określ -full zobaczyć parametru pomoc i przykłady:

Get-Help Get-LatestFiles -Full 

Jeśli to nie jest problem (brzmi jak nie jest), a następnie przyjrzeć się tej PowerShell script that generates skeleton MAML files. Uruchom go i użyj jego danych wyjściowych, aby zobaczyć, czy wyświetli się odpowiednia pomoc.

+0

Niestety, wydaje mi się, że brakuje mi czegoś innego. Określenie pełnego przełącznika powoduje wyświetlenie tej samej domyślnej pomocy, którą zapewnia Powershell 2. – Jason

Powiązane problemy