server.txt
에 정의 된 여러 서버에서 IP 주소 목록을 가져 오려고합니다.동일한 FQDN에서 두 개의 ipaddress 받기
각 서버에는 2 개의 IP 주소와 2 개의 FQDN이 있습니다.
예 : Production lan
에 대한 불행하게도에만 IP
$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
가 올바른지 : 여기
servername (Production lan):server1 IPaddress:147.111.111.16
servername (backup lan):server1-bck IPaddress:10.0.4.12
내가 사용하고 코드입니다. backup lan
의 IP는 server.txt에 마지막 서버의 IP 만 표시합니다. 문제가 있다고 가정합니다 : "foreach { echo $._IPAddressToString"
. 나는 그것을 고치는 법을 모른다.
어떤 아이디어 나 조언이 도움이 될 것입니다.
이것은 개인적인 견해 일 뿐이며, ** ForEach-Object **의 foreach ** 별칭을 사용하면 피하는 것이 좋습니다. **와 구별해야합니다. foreach ** 제어 구조. 그것들은 비슷한 목적을 가지고 있지만 서로를 혼동하지 않도록하는 근본적인 차이점이 있습니다. ** ForEach-Object **의 약자로 ** % **를 사용할 수 있습니다. –