Powershell'i bir web sunucusunda IIS bağlamaları kurmak için kullanıyorum ve aşağıdaki kodla ilgili bir sorun yaşıyorum:
$serverIps = gwmi Win32_NetworkAdapterConfiguration
| Where { $_.IPAddress }
| Select -Expand IPAddress
| Where { $_ -like '*.*.*.*' }
| Sort
if ($serverIps.length -le 1) {
Write-Host "You need at least 2 IP addresses for this to work!"
exit
}
$primaryIp = $serverIps[0]
$secondaryIp = $serverIps[1]
Sunucuda 2'den fazla IP varsa, iyi - Powershell bir dizi döndürür ve dizi uzunluğunu sorgulayabilir ve birinci ve ikinci adresleri gayet iyi çıkarabilirim.
Sorun - sadece bir IP varsa, PowerShell tek unsur dizisi dönmez, o ( "192.168.0.100" gibi bir dize olarak) IP adresini döndürür - dizesi vardır .length
, böylece, mülkiyet 1'den 's büyüktür test başarılı oluyor ve koleksiyondaki ilk iki IP adresi yerine dizedeki ilk iki karakteri buluyorum.
Powershell'i tek öğeli bir koleksiyon döndürmeye nasıl zorlayabilirim veya alternatif olarak döndürülen "şey" in bir koleksiyondan ziyade bir nesne olup olmadığını nasıl belirleyebilirim?