У меня есть эта часть моего кода:
# Check how the kstart servers accessible
ping -n 1 sg-start-6001
$sgkstartcheck = $?
If($sgkstartcheck -ne 'True'){
$sgkstart = "10.104.170.250"
}
else {
$sgkstart = "sg-start-6001"
}
ping -n 1 am-start-4001.
$amkstartcheck = $?
If($amkstartcheck -ne 'True'){
$amkstart = "10.201.180.250"
}
else {
$amkstart = "am-start-4001"
}
ping -n 1 sh-start-8001
$shkstartcheck = $?
If($shkstartcheck -ne 'True'){
$shkstart = "10.113.170.250"
}
else {
$shkstart = "sh-start-8001"
}
ping -n 1 as-start-3001
$askstartcheck = $?
If($askstartcheck -ne 'True'){
$askstart = "10.46.160.250"
}
else {
$askstart = "as-start-3001"
}
ping -n 1 bk-start-1001
$bkkstartcheck = $?
If($bkkstartcheck -ne 'True'){
$bkkstart = "10.120.195.251"
}
else {
$bkkstart = "bk-start-1001"
}
$installfile = "windows/winlogbeat-6.2.4-windows-x86_64.zip"
$filebeatforwininstallfile = "windows/filebeat-6.2.4-windows-x86_64.zip"
$filename = "C:\winlogbeat-6.2.4-windows-x86_64.zip"
$filebeatfilename = "C:\filebeat-6.2.4-windows-x86_64.zip"
$webClient = New-Object System.Net.WebClient
$webClient.Proxy = [System.Net.GlobalProxySelection]::GetEmptyWebProxy()
if($site -eq 'HKG1') {$webClient.DownloadFile("http://hk-rep-2001/$installfile",$filename)}
elseif($site -eq 'AMS4') {$webClient.DownloadFile("http://$amkstart/$installfile",$filename)}
elseif($site -eq 'SIN1' -or 'SIN3') {$webClient.DownloadFile("http://$sgkstart/$installfile",$filename)}
elseif($site -eq 'SHA1' -or 'SHA2') {$webClient.DownloadFile("http://$shkstart/$installfile",$filename)}
elseif($site -eq 'ASH1') {$webClient.DownloadFile("http://$askstart/$installfile",$filename)}
elseif($site -eq 'BKK1') {$webClient.DownloadFile("http://$bkkstart/$installfile",$filename)}
Сайт - ASH1.
Почему скрипт пытается загрузить со значением SIN?
Сайт - ASH1, почему он идет в SIN elseif?
Вроде потому что в пинг-тесте грех первый и это правда, но было установлено пару 10000 vms с этим скриптом, и он только что пришел: /