我试图从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 **的缩写。 –