是否有适用于版本2的PowerShell等效tracert?

Syl*_*lca 12 powershell traceroute powershell-2.0

我正在使用PSVersion 2.0,我想知道是否有相当于traceroute它?

我知道PowerShell v4有没有Test-NetConnection cmdlet做tracert但v2 ?! 可以这样做:

Test-NetConnection "IPaddress/HOSTaname" -TraceRoute
Run Code Online (Sandbox Code Playgroud)

谢谢

Mat*_*sen 23

正如评论中所提到的,您可以通过解析以下输出来创建自己的"穷人 - PowerShell-tracert" tracert.exe:

function Invoke-Tracert {
    param([string]$RemoteHost)

    tracert $RemoteHost |ForEach-Object{
        if($_.Trim() -match "Tracing route to .*") {
            Write-Host $_ -ForegroundColor Green
        } elseif ($_.Trim() -match "^\d{1,2}\s+") {
            $n,$a1,$a2,$a3,$target,$null = $_.Trim()-split"\s{2,}"
            $Properties = @{
                Hop    = $n;
                First  = $a1;
                Second = $a2;
                Third  = $a3;
                Node   = $target
            }
            New-Object psobject -Property $Properties
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,powershell会在列表中格式化具有5个或更多属性的对象,但您可以使用以下命令获取类似tracert输出Format-Table:

在此输入图像描述