我的PowerShell控制台脚本(非GUI)包含以下代码:
$Servername = Read-host -Prompt "What is the server name?"
然而,当运行脚本时,我想一次键入几个字符,并让它在名为servernames.txt
的外部文本文件中查找匹配项,字符越多,结果越精细(理想情况下,我希望能够直接从动态查找中选择匹配项)。
这样做的目的是便于键入数百个服务器的名称,因为servernames.txt
文件将包含整个服务器清单,所以您不需要记住每个名称。
我考虑过Out-GridView
,但不确定它是否能在控制台脚本中工作。理想情况下,它不应该弹出另一个窗口。
1条答案
按热度按时间deyfvvtc1#
Register-ArgumentCompleter
cmdlet注册自定义参数完成符。参数完成符允许您在运行时为指定的任何命令提供动态制表符完成。下面是针对您的问题定制的函数示例(假设
C:\servernames.txt
)现在尝试
Test-DynamicArguments
与-ComputerName
和服务器名称的一部分,你可以标签完成循环选项,也Ctrl-Space
显示全部。阅读
Register-ArgumentCompleter
帮助页面获取更多信息,希望这对您有所帮助