Powershell 2.0需要什么来呈现脚本';帮助页面中的默认参数值?
我有以下简单的脚本,它接受文本作为输入并将其写入主机Powershell 2.0需要什么来呈现脚本';帮助页面中的默认参数值?,powershell,powershell-2.0,default-value,Powershell,Powershell 2.0,Default Value,我有以下简单的脚本,它接受文本作为输入并将其写入主机 <# .SYNOPSIS Writes the input string to the host. .PARAMETER Text The text to write to the host. #> param([string]$text = "hello world!") Write-Host $text 在以下输出中,我希望看到帮助中列出的脚本参数的默认值——但我没有: PARAMETERS -te
<#
.SYNOPSIS
Writes the input string to the host.
.PARAMETER Text
The text to write to the host.
#>
param([string]$text = "hello world!")
Write-Host $text
在以下输出中,我希望看到帮助中列出的脚本参数的默认值——但我没有:
PARAMETERS
-text <String>
The text to write to the host.
Required? false
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters?
参数
-正文
要写入主机的文本。
必修的?假的
位置?1.
默认值
接受管道输入?假的
是否接受通配符?
要使帮助引擎呈现默认参数值,我需要在此脚本中添加或更改哪些内容?您不能使用基于注释的帮助显示默认值。您需要制作一个MAML帮助文件来完成这项工作。基于脚本的帮助可能很挑剔,可能很简单,因为您在帮助文本中将变量大写,而不是该变量本身。我知道,这是一次远射 我更喜欢的另一种选择是,但参数旁边的描述:
<#
.SYNOPSIS
MumbleMumble
.DESCRIPTION
Even more MumbleMumble
.EXAMPLE
PS> MumbleMumble
#>
function MumbleMumble
{
param
(
#The in-parameter for MumbleMumble, as text
$text
)
...
}
MumbleMumble
#>
功能性腮腺炎
{
param
(
#MumbleMumble的in参数,作为文本
$text
)
...
}
我喜欢这种方法,因为它将描述放在参数旁边,而且似乎有效:)。这实际上是在MSDN上记录的(这是否使它成为一种功能?:-)。在“疑难解答”下查看,我认为这样做的原因是使基于注释的帮助易于编写。不,参数的几个属性(例如类型)是从代码中提取的,并与开发人员的文档注释一起集成到帮助输出中。默认值应该是其中之一——对开发人员完全透明——因此省略它不会简化文档注释的编写。默认值和通配符接受是在MAML帮助中定义的,而不是在代码中定义的。在代码中使用它是没有用的,因为它们不是PowerShell引擎提供的功能。基于注释的帮助等同于MAML帮助。但为了简化,他们只在基于注释的帮助中实现了参数描述。
<#
.SYNOPSIS
MumbleMumble
.DESCRIPTION
Even more MumbleMumble
.EXAMPLE
PS> MumbleMumble
#>
function MumbleMumble
{
param
(
#The in-parameter for MumbleMumble, as text
$text
)
...
}