5

PowerShellコマンドをセットアップしようとしているのでGet-Help -full、スクリプトの実行方法に関する完全な情報が表示されます。このヘルプに表示したいデフォルト値があります。私は次のものを持っています:

<#
    .PARAMETER SenderEmail
    The name of the user who is sending the email message. Although not
    officially required, it will be checked to make sure it's not blank.
#>

Param (

   [String]
   [Parameter(
        Position=1,
        HelpMessage="Sender's Email Address")]
   $SenderEmail = "bob@fubar.com"
)

それでも、Get-Help -detailと入力すると、次のように表示されます。

-SenderEmail <String>
    The name of the user who is sending the email message. Although not
    officially required, it will be checked to make sure it's not blank.

    Required?                    false
    Position?                    2
    Default value
    Accept pipeline input?       false
    Accept wildcard characters?

このパラメータのデフォルト値を表示するためのヘルプを取得するにはどうすればよいですか?

4

2 に答える 2

5

V2の高度な機能で表示するデフォルト値を取得できるとは思いません。[System.ComponentModel.DefaultValueAttribute( "")]を試してみましたが運がありませんでした。ただし、それが慰めである場合、これはV3ではそのまま機能するように見えます。

V3 ONLY!!
PS> Get-Help .\help.ps1 -full

NAME
    C:\temp\help.ps1

SYNOPSIS

SYNTAX
    C:\temp\help.ps1 [[-SenderEmail] <String>] [<CommonParameters>]


DESCRIPTION


PARAMETERS
    -SenderEmail <String>
        The name of the user who is sending the email message. Although not
        officially required, it will be checked to make sure it's not blank.

        Required?                    false
        Position?                    2
        Default value                bob@fubar.com
        Accept pipeline input?       false
        Accept wildcard characters?  false

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

INPUTS

OUTPUTS


RELATED LINKS
于 2012-04-11T17:36:46.493 に答える
3

パラメータのデフォルト値を指定する方法はないようです。パラメータの説明で指定する必要があります。

<#
.PARAMETER SenderEmail
The name of the user who is sending the email message. If not 
specified, a default value of bob@fubar.com will be used
#>

この投稿には、トラブルシューティングセクションhttp://technet.microsoft.com/en-us/library/dd819489.aspxに情報があります。

Default values and a value for "Accept Wildcard characters" do not appear in
the parameter attribute table even when they are defined in the function or
script. To help users, provide this information in the parameter description.

@KeithHillが指摘しているように、次のリビジョンで修正されるようです

于 2012-04-11T17:40:02.223 に答える