2015-09-22 1 views
3

J'ai lancé une applet de commande PowerShell et je souhaite fournir le message d'aide pour un paramètre. Je l'ai essayé d'utiliser ParameterAttribute.HelpMessage pour cela:Comment faire pour obtenir le Cmdlet C# Paramètre HelpMessage à afficher dans `Get-Help`

[Cmdlet(VerbsCommon.Get, "Workspace", SupportsShouldProcess = true)] 
public class GetWorkspace : PSCmdlet 
{ 
    [Parameter(
     Mandatory = true, 
     Position = 1, 
     HelpMessage = "The path to the root directory of the workspace.")] 
    public string Path { get; set; } 

    protected override void ProcessRecord() 
    { 
     base.ProcessRecord(); 
    } 
} 

Mais quand j'utilise la commande PowerShell Get-Help, il ne montre pas le HelpMessage pour le paramètre:

get-help Get-Workspace -det 

NAME 
    Get-Workspace 

SYNTAX 
    Get-Workspace [-Path] <string> [-WhatIf] [-Confirm] [<CommonParameters>] 


PARAMETERS 
    -Confirm 

    -Path <string> 

    -WhatIf 

    <CommonParameters> 
     This cmdlet supports the common parameters: Verbose, Debug, 
     ErrorAction, ErrorVariable, WarningAction, WarningVariable, 
     OutBuffer, PipelineVariable, and OutVariable. For more information, see 
     about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). 


ALIASES 
    None 


REMARKS 
    None 

Lors de l'écriture d'une applet de commande dans le script PowerShell I peut ajouter un message d'aide pour les paramètres en utilisant cette syntaxe:

<# 
.Parameter Path 
The local path to the root folder of the workspace. 
#> 

Mais ce qui est l'équivalent dans une applet de commande C#?

Répondre

4

Vous le faites absolument bien!

Vous avez juste besoin d'inspecter la vue -Full ou obtenir de l'aide pour le paramètre spécifique avec -Parameter:

PS C:\> Get-Help Get-Workspace -Parameter Path 

-Path <string> 
    The path to the root directory of the workspace. 

    Required?     true 
    Position?     1 
    Accept pipeline input?  false 
    Parameter set name   (All) 
    Aliases      None 
    Dynamic?      false 
+1

Merci. Mais je ne suis pas obligé de faire ça avec les cmdlets ps1, je pense. Juste 'Get-Help Get-Workspace -det' est suffisant pour voir le message d'aide du paramètre. Est-ce impossible pour les cmdlets C#? –