需要"ping"输出,包括CSV文件中的日期/时间,源IP地址,目标IP地址,低/高/平均延迟和数据包丢失



我正在尝试达到一个.csv文件,其中包括一行中的以下信息

  • 日期/时间
  • sourceip
  • Targetip
  • 低/高/平均潜伏期
  • 数据包损失

以下命令很有用,因为它返回了有关低/高和平均响应时间的一些详细信息。

Test-Connection $Address -Count 1 | 
    Measure-Object ResponseTime -Minimum -Average -Maximum |
    Export-Csv -Path $FilePath -Append -NoTypeInformation -Force

返回:

平均最低最低属性------- -----------------------------14 14 14反应时间

此命令也很有用,但没有提供响应时间的详细信息

Test-Connection $Address -Count 1 |
    Select-Object -Property PSComputerName, IPV4Address, ResponseTime |
    Export-Csv -Path $FilePath -Append -NoTypeInformation -Force

返回:

PSComputername IPv4Address响应时间--------------------------------------------------xxxxxxxxxxxxxx 8.8.4.4 23

是否有一种方法可以在一行的CSV文件中显示所有信息,还包括主机IP地址?

以下应执行您想要的事情:

$Response = Test-Connection $Address -Count 1
$ResponseTimeMetrics = $Response | Measure-Object ResponseTime -Minimum -Maximum -Average
$ResponseObject = $Response | Select-Object `
    PSComputerName,IPv4Address,ResponseTime,
    @{name="Minimum";Expression={$ResponseTimeMetrics.Minimum}},
    @{name="Maximum";Expression={$ResponseTimeMetrics.Maximum}},
    @{name="Average";Expression={$ResponseTimeMetrics.Average}}
$ResponseObject | Export-CSV -Path $FilePath -Append -NoTypeInformation -Force

$response变量正在存储Test-Connection结果。$ResponseTimeMetrics是从Measure-Object命令中存储所需的平均值,最小值和最大值。$ResponseObject选择$Response中存储的对象已经提供的属性,然后添加$ResponseTimeMetrics分配的对象中的属性。我正在使用哈希表将自定义属性添加到$ResponseObject,以便我可以轻松地将属性命名为我的喜好,并提供不来自管道的值。

您可以看到Select-Object,以获取有关使用Select-Object创建和检索对象属性的更多信息。

最新更新