以下是ValidateSet
的示例,其中值是包含空格的字符串:
function Test-ValidateSet
{
param ([ValidateSet("abc def", "ghi jkl")][String]$Val)
$Val
}
IntelliSense可以正常工作,但不会引用已完成的值。
有没有办法让完整的值被引用?
答案 0 :(得分:3)
它看起来像PowerShell中的一个错误。我已在此处提交:https://connect.microsoft.com/PowerShell/feedback/details/812233/auto-completed-values-with-spaces-do-not-have-quotes-around-them
答案 1 :(得分:0)
你必须自己引用:
[ValidateSet("'abc def'", "'ghi jkl'")]
如果你在命令行中添加引号后智能感知,那看起来很傻:
Test-ValidateSet -Val ''ghi jkl''
DynamicParam也不适用于引用值。