Powershell中的重复结果

时间:2016-01-28 15:24:07

标签: powershell

我已经汇集了各种来源的脚本,但无法理解为什么我在结果中获得重复的条目..

例如..

我需要检查远程服务器上的计划任务,并验证哪些未成功完成,然后进行调查。

我有一个schedulers.csv文件,它有两个comlumns IP和Name。

我从https://gallery.technet.microsoft.com/scriptcenter/Get-Scheduled-tasks-from-3a377294

下载了脚本Get-ScheduledTask.ps1

效果很好,做我需要的。

然后,我想从列表中检索服务器名称,将上述脚本作为参数运行,然后在csv文件中恢复计划任务。

NextRunTime Author  Trigger State   UserId  ComputerName    Name    LastRunTime LastTaskResult  Description NumberOfMissedRuns  Enabled Path

上面脚本的标题给我Name和LastTaskResult,这是我想要进一步查询的内容。

如果LastTaskResult成功完成,那么它应为0,否则我会进一步调查。

我到目前为止的代码是:

$servers = Import-Csv "C:\test\schedulers.csv"

foreach($server in $servers){
    $ServerName = $server.Name
    $ServerAddress = $server.IP       
        Write-Host $ServerName : $ServerAddress
        $importfile = Get-ScheduledTask.ps1 -ComputerName $ServerName
          |Export-Csv -Path c:\test\scheds.csv -NoTypeInformation


        $Lines = Import-Csv "C:\test\scheds.csv"
        ForEach($line in $lines){                 

            $lines | %{
            $TaskName = $_.name
            $taskresult = $_.LastTaskResult                

            if ($_.LastTaskResult -ne "0")  
            {  
                Write-Host $line.LastTaskResult : $_.name : $_.Path 

            }else{

            }
        }
    }             
} 

应该有3个结果显示,LastTaskResult中的值为1,但我得到大约38,这是我正在测试的两个服务器上的任务总量。

还有3个条目,以及所有其他条目..

请任何人都能看到我出错的地方..非常感谢

1 个答案:

答案 0 :(得分:0)

没有经过测试,因为我没有你的Get-ScheduledTask.ps1,但这里有我可能会改变的内容

$servers = Import-Csv "C:\test\schedulers.csv"

foreach ($server in $servers) {
    $ServerName = $server.Name
    $ServerAddress = $server.IP       
    Write-Host $ServerName : $ServerAddress
    $importfile = Get-ScheduledTask.ps1 -ComputerName $ServerName

    $importfile | Export-Csv -Path c:\test\scheds.csv -NoTypeInformation

    foreach ($line in $importfile) {
        if ($line.LastTaskResult -ne '0') {  
            Write-Host $line.LastTaskResult : $line.Name : $line.Path
        }
    }
}