我試圖從server.txt
中定義的幾個服務器獲取IP地址列表。從相同的FQDN獲取兩個ipaddress
每臺服務器有2個IP地址和2個FQDN。
例子:
servername (Production lan):server1 IPaddress:147.111.111.16
servername (backup lan):server1-bck IPaddress:10.0.4.12
這裏是我使用的代碼:
$servers = Get-Content server.txt
$server2 = "$servers-bck"
$zai = ""
foreach ($server in $servers)
{
$zai = $zai + $server + "`t" +
([System.Net.Dns]::GetHostAddresses($server) | foreach {echo $_.IPAddressToString}) +
"`t" +
([System.Net.Dns]::GetHostAddresses($server2) | foreach {echo $_.IPAddressToString}) +
"`n"
}
$zai > IP-address.csv
不幸的是只有IP爲Production lan
是正確的。 backup lan
的IP僅顯示server.txt中最後一個服務器的IP。我認爲問題出在:"foreach { echo $._IPAddressToString"
。我不知道如何解決它。
任何想法或建議將有所幫助。
這只是個人意見,但我想用**的foreach **應避免**的foreach對象的別名,將其從區分** foreach **控制結構。他們有類似的目的,但基本的差異使得重要的是不要將它們彼此混淆。您可以使用**%**作爲** ForEach-Object **的縮寫。 –