кажется, что вы хотите отображать как успешные, так и неудачные эхо-запросы и что вы хотите обрабатывать несколько адресов.это должно сделать работу ... [ ухмылка ]
что он делает ...
- создает список IP-адресов для ping
- устанавливает формат отметки времени
HH
для 24 часов, hh
для 12 часов, tt
будет AM
или PM
. - устанавливает строку отображения no-repsonse
- устанавливает счетчик повторений
, если вы хотите, чтобы это выполнялось "навсегда", вы можете изменить while
на while ($True)
вместо использованиясчетчик.я бы просто установил $RepeatCount
на что-то вроде 666
. - инициализировать счетчик
- определить
while
триггер - написать строку счетчика
, если вы не хотите, просто удалите или закомментируйте эту строку. - цикл через список IP с
foreach
loop - проверка и сохранение результата проверки связи
- генерация метки времени
- работа с неотвечающими адресамии создайте элементы для использования с оператором
-f
формата строки - , используйте оператор
-f
формата строки и строку шаблона, чтобы показать информацию - увеличить счетчик
вот код ...
$IP_List = @(
'127.0.0.1'
'10.0.0.1'
'1.1.1.1'
)
$TimeStampFormat = 'yyyy-MM-dd HH:mm:ss'
$NoResponse = '__No Response__'
$RepeatCount = 3
$Counter = 1
while ($Counter -le $RepeatCount)
{
'______ Repeat Count = {0, 3}' -f $Counter
foreach ($IPL_Item in $IP_List)
{
$Result = Test-Connection -ComputerName $IPL_Item -Count 1 -ErrorAction SilentlyContinue |
Select-Object -Property Address, ResponseTime
$TimeStamp = [datetime]::Now.ToString($TimeStampFormat)
if (-not $Result)
{
$PingData = @($TimeStamp, $env:COMPUTERNAME, $IPL_Item, $NoResponse)
}
else
{
$PingData = $($TimeStamp, $env:COMPUTERNAME, $Result.Address, $Result.ResponseTime)
}
'{0} - From = {1, -10} - To = {2, -16} - ResponseTime = {3, 4}' -f $PingData
}
$Counter++
}
вывод ...
______ Repeat Count = 1
2019-06-01 21:24:50 - From = [MySysName] - To = 127.0.0.1 - ResponseTime = 0
2019-06-01 21:24:54 - From = [MySysName] - To = 10.0.0.1 - ResponseTime = __No Response__
2019-06-01 21:24:54 - From = [MySysName] - To = 1.1.1.1 - ResponseTime = 20
______ Repeat Count = 2
2019-06-01 21:24:54 - From = [MySysName] - To = 127.0.0.1 - ResponseTime = 0
2019-06-01 21:24:58 - From = [MySysName] - To = 10.0.0.1 - ResponseTime = __No Response__
2019-06-01 21:24:58 - From = [MySysName] - To = 1.1.1.1 - ResponseTime = 19
______ Repeat Count = 3
2019-06-01 21:24:58 - From = [MySysName] - To = 127.0.0.1 - ResponseTime = 0
2019-06-01 21:25:02 - From = [MySysName] - To = 10.0.0.1 - ResponseTime = __No Response__
2019-06-01 21:25:02 - From = [MySysName] - To = 1.1.1.1 - ResponseTime = 20