Извиняюсь за долгое отсутствие, был в местах без доступа к интернету, а порой и к электричеству.
Я со скриптами не дружу, но вот в той ссылке, которую я привел вполне понятно:
$VIServers = “vCenter” - переменная VIServers, а в кавычках доменное имя vcenter, куда планируем подключиться
ForEach ($VIServer in $VIServers) {
Connect-VIServer $VIServer
} - подключаемся к ви серверу_переменная - смотрим в переменную - там имя сервера, ForEach - полагаю на тот случай, если сервер не 1.
В том скрипте, который привели Вы не совсем понял:
param(
[parameter(Mandatory = $true)]
[string[]]$vCenter, здесь в ["кавычках"] перечислять имена или ip серверов?
[parameter(Mandatory = $true)]
[string[]]$vmName Здесь в ["кавычках"] перечислять имена vm, которые требуется перезагрузить так, как они числятся в инвентори vsphere?
)
$VIServer = Connect-VIServer $vCenter вообще не понял строку, "Connect-VIServer $vCenter" - понятно, подключаемся к серверам, указанным в переменной vCenter но зачем перед этим "$VIServer = "?
If ($VIServer.IsConnected -ne $true){
Write-Host "error connecting to $vCenter" -ForegroundColor Red
exit
}
foreach($vm in $vmName){ что за переменная "$vm" - такая не задавалась, задавали же лишь "$vmName"?
Write-Host "Going to restart $vm"
Restart-VMGuest -VM (Get-VM $vm) -Confirm:$false
}
p.s. если предложите краткое и доступное руководство с основами по скриптам и командам powercli - буду очень благодарен (огромную документацию - не надо, очень не много времени, но все чаще возникает необходимость воспользоваться)