为哈希表参数设置默认值

Set a default value for a hashtable param

给定以下 PowerShell 脚本 header:

[CmdletBinding()]
Param(
    [Parameter()] [hashtable] $Mapping = ???
)

用什么代替 ??? 来为散列设置默认值 tabletable?

找到解决方案:

$Mapping = @{ "Key" = "Value" }

但是,我通过惨痛的教训了解到,您不能为此参数传递不同的值。使用 -File 调用 powershell.exe 会将参数解析为字符串。所以最好结合使用格式化字符串和 ConvertFrom-StringData.