#powershell
#powershell
Вопрос:
Я пытаюсь добраться до точки, где у меня есть файл .csv, содержащий следующую информацию в одной строке
- Дата / время
- sourceIP
- TargetIP
- Низкая / высокая / средняя задержка
- Потеря пакетов
Следующая команда полезна, поскольку она возвращает некоторую информацию о низком / высоком и среднем времени отклика.
Test-Connection $Address -Count 1 |
Measure-Object ResponseTime -Minimum -Average -Maximum |
Export-Csv -Path $FilePath -Append -NoTypeInformation -Force
ВОЗВРАТ:
Свойство Average Maximum Minimum ------- ------- ------- -------- 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-адрес хостов?
Ответ №1:
Следующее должно делать то, что вы хотите:
$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
.
Комментарии:
1. Вы можете безопасно убрать обратные метки в строках 4,5 и 6.
2. AdminOfThings, действительно большое спасибо. Не только для предоставления решения, но и для четкого объяснения логики. Это работает отлично.
3. Также спасибо Тео