小编bri*_*ary的帖子

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

根据about_Parameters_Default_Values文档,

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

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

使用ScriptLocal范围,核心 PowerShell Cmdlet(即Write-Host)的默认值工作正常,但脚本本身的任何参数都不会从 接收到$PSDefaultParameterValues,无论是否定义了默认值,或者是否有公共参数。

测试-DefaultParam.ps1
<#
.Synopsis
    Test the handling of $PSDefaultParameterValues.

.Parameter UnspecifiedParam
    A parameter with no default.

.Parameter DefaultParam
    A parameter with a default.

.Example
    Test-DefaultParam.ps1


    Name                           Value
    ----                           -----
    InitialPSBoundParameters       {}
    InitialUnspecifiedParam
    InitialDefaultParam            DefinedDefaultValue
    Script:PSDefaultParameterValues:Write-Host
    WARNING: UnspecifiedParam default was not received
    WARNING: DefaultParam default was not received
    WARNING: Verbose default was not received
    PSDefaultParameterValues       {Test-DefaultParam:Verbose, Test-DefaultParam:DefaultParam, Test-DefaultParam:UnspecifiedParam}
    PSDPVUnspecifiedParam          Script:PSDefaultParameterValues:UnspecifiedParam
    PSDPVDefaultParam              Script:PSDefaultParameterValues:DefaultParam …
Run Code Online (Sandbox Code Playgroud)

powershell

1
推荐指数
1
解决办法
465
查看次数

标签 统计

powershell ×1