非常奇怪如果有其他结果

时间:2014-05-08 18:45:29

标签: powershell powershell-v2.0

如果我们在端口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
}

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