我正在尝试格式化一个文件,如下所示。
IPAddresss HostName Result
none sinuiy01.infra.go2uti.com NotValid
none sinuid20.devtst.go2uti.com NotValid
172.21.40.204 USEM9999.essilor.res Success
172.21.40.204 webmail.nscorp.com NotValid
172.21.40.204 nsc.nscorp.com Unsuccess
172.21.40.204 bp-nsc.nscorp.com NotValid
但需要如下结果:-
IPAddresss HostName Result
none sinuiy01.infra.go2uti.com NotValid
none sinuid20.devtst.go2uti.com NotValid
172.21.40.204 USEM9999.essilor.res Success
172.21.40.204 webmail.nscorp.com NotValid
172.21.40.204 nsc.nscorp.com Unsuccess
172.21.40.204 bp-nsc.nscorp.com NotValid
您能否建议我应该使用哪个函数来获得上述结果?
以下是脚本:-
这是正在处理的脚本
"IPAddresss HostName Result" | Out-File -Append D:\CEP\testlogging.txt
$lines = Get-Content myfile.txt | Where {$_ -notmatch "((^#)|(^\s+$))"}
foreach ($line in $lines) {
$fields = $line -split '\s+'
$ip = $fields[0]
for ($i = 1; $i -lt $fields.Length; $i++) {
$ESXHost = $fields[$i]
echo "Host $ESXHOST"
try
{
$currentConnection = Test-Connection $ESXHost -ErrorAction stop
if($currentConnection.Count -gt 0)
{
$hostIP = ($currentConnection)[$i].IPV4Address.IPAddressToString
echo "hostIp $hostIP"
if ($hostIP -eq $ip)
{
"$hostIP $ESXHost Success" | Format-Table -Wrap -AutoSize | Out-File -Append D:\CEP\testlogging.txt
}
else
{
"$hostIP $ESXHost Unsuccessful" | Format-Table -Wrap -AutoSize | Out-File -Append D:\CEP\testlogging.txt
}
}
}