自定义Ping调整以捕获错误

时间:2019-03-20 13:19:49

标签: powershell

我正在编辑脚本,很快意识到我需要调整功能。

我真的无法说出Powershell如何返回结果,但是我需要处理3种选择之一

但是它似乎根本不起作用, 因为带有“错误”动作的部分无法正常工作。

在代码的进一步开发之前,我使用它来检查它命中哪个Categorie,但这似乎有点随机,因为我有一个测试IP列表集 这三种类型都在哪里,而第254个请求只是“错误”异常,但它在这3个类型之间跳转。

Function Custom-Ping {
    Param(
        [string]$Address
    )
    $ping = ping $Address /w 1 /n 1
    if(![string]::IsNullOrEmpty($ping -Like "*expired*"))
    {
        $result = "Error"
    }
    elseif(![string]::IsNullOrEmpty($ping -Like "*(0% loss)*"))
    {
        $result = "hit"
    }
    else
    {
        $result = ""
    }
    return $result
} 

我使用自定义Ping的原因是为了加快任务速度,因为我试图解决我们本地网络中的8000个Ip请求。

Test-Connection 'SomeIP' -Count 1在我的环境中有效,但是Test-Connection 'SomeIP' -Count 1 -TimeoutSeconds 1根本不起作用,因为我没有选择-TimeoutSeconds

Parralel解决方法对我没有用,因为我没有让它运行。

0 个答案:

没有答案