Register-ArgumentCompleter
cmdlet注册自定义参数完成器。参数完成器允许您在运行时为指定的任何命令提供动态的制表符完成。
这是一个针对您的问题的函数示例(假设C:\servernames.txt
)
$scriptBlock = {
param($commandName,$parameterName,$wordToComplete,$commandAst,$fakeBoundParameters)
Get-Content C:\servernames.txt | Where-Object {
$_ -like "*$wordToComplete*"
} | ForEach-Object {
"'$_'"
}
}
#Register the above scriptblock to the Test-DynamicArguments function ComputerName Parameter
Register-ArgumentCompleter -CommandName Test-DynamicArguments -ParameterName ComputerName -ScriptBlock $scriptBlock
function Test-DynamicArguments {
[CmdletBinding()]
param
(
$ComputerName
)
"You Selected $ComputerName"
}
现在尝试将Test-DynamicArguments
与-ComputerName
和服务器名称的一部分一起使用,您可以使用制表符“ tab”完成循环选项,也可以使用Ctrl-Space
来显示全部。
阅读Register-ArgumentCompleter
帮助页面以了解更多信息,希望对您有帮助
本文链接:https://www.f2er.com/3156426.html