我正在尝试达到一个.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
创建和检索对象属性的更多信息。