如果我们在端口1055上有一个网页,则安装perfstat。它将使用是或否来更新电子表格。
这是奇怪的事情。 - 两台计算机.. Computer1有perfstat而Computer2没有 - 如果我先将Computer2放在txt文件中,结果会正确。虚假和真实 - 如果我将Computer1放在txt文件中,那么这两台机器都是真的! :(
我对if语句搞砸了。一旦进入IF部分,结果就不正确。
这是我的代码
$Computers = Get-Content -Path C:\temp\servers.txt
foreach ($Server in $computers)
{
$reply = Invoke-WebRequest http://$Server":1055" | Select-Object Content
if ($reply.Content -like "*Windows PerfStat v1.1.4*")
{
$Sheet1.Cells.Item($intRow, 1) = $server
$Sheet1.Cells.Item($intRow, 2) = "Yes"
}
else
{
$Sheet1.Cells.Item($intRow, 1) = $server
$Sheet1.Cells.Item($intRow, 2) = "No"
}
$intRow = $intRow + 1
}
答案 0 :(得分:2)
问题是Computer2没有发送结果进入$ reply。因此,如果首先运行Computer1,则在Computer2运行时,Reply仍具有相同的值。在remove-variable reply
行之前添加$reply =
:
foreach ($Server in $computers) {
if($reply){remove-variable reply}
$reply = Invoke-WebRequest http://$Server":1055" | Select-Object Content