2010-02-19 18 views
5

Ho creato alcuni cmdlet PowerShell personalizzati in C# e desidero fornire alcune informazioni da visualizzare utilizzando il cmdlet get-help; per esempio. "get-help my-cmdlet".Supporto Get-Help per il cmdlet PowerShell personalizzato

Ho creato uno snapin di base derivante da PSSnapIn e ha sovrascritto le proprietà Descrizione, Nome e Fornitore. Ho anche creato il mio file di aiuto "Cmdlets.dll-Help.xml". Cmdlets.dll è il nome corretto dell'assembly come indicato here.

ho creato il seguente script per testare rapidamente questo aiuto out:

$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 

Questo sembra girare solo un po 'di aiuto di default sui parametri cmdlet, ma non riesce a ottenere qualsiasi dei miei esempi che ho scritto in XML file. Qualcuno ha qualche idea sul perché questo è?

risposta

2

Sembra che ci fossero due problemi per il mio aiuto non funzionante. Il primo è che l'XML deve essere copiato nella directory di output della DLL Cmdlet per poter prelevare Powershell.

Secondo motivo sembra essere stato un errore nel mio file di aiuto. Non sono sicuro di cosa fosse, ma Powershell sembrava fallire silenziosamente anche se la preferenza relativa all'azione degli errori era destinata a fermarsi. Ho finito per sollevare XML direttamente da C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ it-IT \ Microsoft.PowerShell.Commands.Management.dll-Help.xml e modificandolo in base alle mie esigenze.

1

Get-Help mostra solo un sottoinsieme della guida per un cmdlet per impostazione predefinita. Specificare Full vedere parametro aiuto e la vostra esempi:

Get-Help Get-LatestFiles -Full 

Se questo non è il problema (suona come non lo è) allora dare un'occhiata a questo PowerShell script that generates skeleton MAML files. Eseguilo e usa il suo output per vedere se viene visualizzata la corretta guida.

+0

Sfortunatamente sembrerebbe che mi manchi qualcos'altro. Specificando lo switch completo viene semplicemente visualizzata la stessa guida predefinita fornita da Powershell 2. – Jason

Problemi correlati