如何在 powershell 脚本中对特定服务器名称进行硬编码

How can I hardcode specific server names in powershell script

我想重新启动特定的服务器,我正在使用 findstr 在 1000 台服务器的列表中查找特定的服务器,但是,有什么方法可以在脚本中对服务器名称进行硬编码,这样脚本就只有 运行在一组特定的远程服务器上?此外,如何针对数组变量使用每个。例如,下面的方法是否正确?

$serverlist = "server1,server2,server3"

for each ($server in $serverlist){  $serverboot= gwmi win32_operatingsystem -comp $server
$serverboot.Reboot
}

首先为此定义一个服务器列表,coma (,) 是 PowerShell 中的数组运算符:

$serverlist = "server1","server2","server3"

现在$serverlist是你可以使用的数组或集合。

然后将此列表传送到 Foreach-Object Cmdlet 中,该 Cmdlet 允许您为列表中的每个元素执行脚本块。 $_代表当前元素。 ; 是指令分隔符:

$serverlist | ForEach-Object {$serverboot= gwmi win32_operatingsystem -comp $_; $serverboot.Reboot()}