在开始编写脚本之前,我已经看到过需要主机名参数的Powershell脚本。可以通过键入Script.PS1 "hostname"
但您也可以通过以下方法运行脚本:
gc hostnames.txt | script.ps1
,通过这种方式,您可以在文本文件中列出许多主机名。
这是如何实现的。 我的参数如下
Param(
[Parameter(Mandatory=$True)]
[ValidateSet("C","K")]
[ValidateNotNullorEmpty()]
[String]$Action,
[Parameter(Mandatory = $True)]
[ValidateNotNullorEmpty()]
[String]$Computers
)
答案 0 :(得分:1)
根据要求,您可以使用类似
的语法gc hostnames.txt | % { .\script.ps1 -Action A -Computers $_ }
,它将为script.ps1
中的每一行调用一次hostnames.txt
。
$_
是用... | % ...
语法迭代的数组的当前值的占位符。