Возвращение StatusCode из Test-Connection - PullRequest
1 голос
/ 10 марта 2012

сервер тест-соединений | объект выбора *

возвращает много свойств, среди которых StatusCode.

Как я могу вернуть только это значение? Мое лучшее предположение было бы

$r = test-connection server
$r.statuscode

но это не работает. Как мне это сделать?

EDIT

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394350%28v=vs.85%29.aspx имеет больше информации о статус-коде, который я хотел бы получить .. Пока не повезло!

Ответы [ 3 ]

4 голосов
/ 10 марта 2012

Test-Connection по умолчанию даст вам коллекцию (4 System.Management.ManagementObject объектов).Он использует класс WMI Win32_PingStatus для внутреннего использования.

(Test-Connection server).GetType().FullName

Выходы:

System.Object[]

Таким образом, вы можете сделать это:

(Test-Connection server -Count 1).StatusCode

или это:

(Test-Connection server)[0].StatusCode

Не забывайте, что некоторые эхо-запросы могут потерпеть неудачу, поэтому если вы просто отметите один из них, это может не понадобиться, что означает отсутствие соединения.

Вы также можете попробовать позвонить Win32_PingStatus напрямую, например так:

Get-WmiObject -Class Win32_PingStatus -Filter "Address='server'" | Select-Object -Property Address,ResponseTime,StatusCode
1 голос
/ 03 июля 2012
$r = test-connection computername -count 1
$r.statuscode

Это работает.

1 голос
/ 11 марта 2012

Почему бы вам просто не попробовать:

$r = Test-Connection server -Quiet

$ r - логическое значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...