У меня есть этот скрипт:
for ( ; $true ; )
{
Write-Host ""
Get-Date -UFormat "%Y-%m-%d %H:%M:%S"
ping -n 1 10.10.50.203 | Select-String -SimpleMatch "Pinging" -Context 1,2
ping -n 1 10.10.50.201 | Select-String -SimpleMatch "Pinging" -Context 1,2
timeout 5 > null
}
Он производит такой вывод:
2018-08-29 14:40:49
> Pinging 10.10.50.203 with 32 bytes of data:
Request timed out.
> Pinging 10.10.50.201 with 32 bytes of data:
Reply from 10.10.50.201: bytes=32 time=58ms TTL=126
2018-08-29 14:40:54
> Pinging 10.10.50.203 with 32 bytes of data:
Request timed out.
> Pinging 10.10.50.201 with 32 bytes of data:
Reply from 10.10.50.201: bytes=32 time=58ms TTL=126
Нам нужно без пустых строк:
2018-08-29 14:40:49
> Pinging 10.10.50.203 with 32 bytes of data:
Request timed out.
> Pinging 10.10.50.201 with 32 bytes of data:
Reply from 10.10.50.201: bytes=32 time=58ms TTL=126
2018-08-29 14:40:54
> Pinging 10.10.50.203 with 32 bytes of data:
Request timed out.
> Pinging 10.10.50.201 with 32 bytes of data:
Reply from 10.10.50.201: bytes=32 time=58ms TTL=126
Я пытался найти решения из этого и этого вопросов, но ничего не помогает.
Особенно решение | ForEach-Object { $_.Trim() }
выдает это сообщение об ошибке:
... не содержит метод с именем 'Trim'.
PS Версия:
PS C:\WINDOWS\system32> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.17134.165
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.165
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1