让PowerShell自动完成cli参数

Yot*_*tam 1 powershell autocomplete

假设我编写了一个简单的脚本,它$name 作为cli参数并打印出来.我知道当我调用脚本时它可以自动完成-name,但是是否可以为PowerShell提供一个值列表,从中自动完成分配给的值$name

The*_*ian 6

您需要参数的[ValidateSet()]功能.它是这样使用的:

Function Test-Me{
Param(
    [ValidateSet("Matt","John","Andrew")][String]$Name
)
    "You designated $Name"
}
Run Code Online (Sandbox Code Playgroud)

然后,当您访问该函数并转到填写-Name参数时,它将从提供的列表中弹出一个适用的名称列表.

弹出名称列表