$ PSDefaultParameterValues可以向脚本发送默认参数值吗?

时间:2015-10-22 23:33:56

标签: powershell

根据about_Parameters_Default_Values文档,

  

$ PSDefaultParameterValues首选项变量允许您为任何cmdlet或高级函数指定自定义默认值。

但是,实际上,这似乎不适用于脚本高级功能(请参阅下面脚本中的示例部分)。

同时使用ScriptLocal范围,核心PowerShell Cmdlet的默认值(即Write-Host)工作正常,但脚本本身的所有参数都不会从{{{ 1}},是否定义了默认值,或者是否为通用参数。

测试DefaultParam.ps1
$PSDefaultParameterValues

1 个答案:

答案 0 :(得分:3)

是的,它可以:

PS> Set-Content .\Test\FileName.ps1 @'
>>> [CmdletBinding()]
>>> param(
>>>     $ParameterName='DefaultValue'
>>> )
>>> $ParameterName
>>> '@
PS> .\Test\FileName.ps1
DefaultValue
PS> $PSDefaultParameterValues['FileName.ps1:ParameterName']='DifferentValue'
PS> .\Test\FileName.ps1
DifferentValue