我正在尝试使用 powershell 测试与服务器列表的网络连接,然后仅当它返回 true 时才转储到文本文件。我的代码发生的情况是它包含未 ping 的服务器。这是我所拥有的:
$servers = Get-Content c:\script\servers.txt
foreach($server in $servers)
{
Test-Connection $server -count 1 -quiet
if ($True){out-file -InputObject $server, $True -Encoding ASCII -Width 50 -Append c:\scriptoutput.txt}
else { write-host "server $server could not be contacted"}
}
现在我在输出文件中看到的是
server1
True
server2
True
server3
True
但是我在控制台上看到的是这样的:
PS C:\> C:\test.ps1
True
True
False
服务器 3 不存在,因此无法 ping 通,在输出文件中仍显示为 True,但在控制台中读取为 False。是什么赋予了?