2012-03-10 63 views

回答

4

Test-Connection默認會給你一個集合(4 System.Management.ManagementObject對象)。它在內部使用Win32_PingStatus WMI類。

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

輸出:

System.Object[] 

所以,你可以這樣做:

(Test-Connection server -Count 1).StatusCode 

或本:

(Test-Connection server)[0].StatusCode 

不要忘了,有些坪可能會失敗,所以如果你只需檢查一個它可能並不意味着沒有合作nnection。

您也可以嘗試直接調用Win32_PingStatus這樣的:

Get-WmiObject -Class Win32_PingStatus -Filter "Address='server'" | Select-Object -Property Address,ResponseTime,StatusCode 
+0

那不幸的是,我已經更新了我的問題與更多的信息! – Sune 2012-03-14 12:27:04

+0

@Sune什麼部分沒有工作?獲取您期望的財產價值或特定的代碼?它爲我返回屬性,但嘗試直接使用'Get-WmiObject'調用Win32_PingStatus來查看是否獲得了不同的狀態代碼。我添加了示例代碼。 – 2012-03-14 13:42:17

1

你爲什麼不只是嘗試:

$r = Test-Connection server -Quiet 

$ r是一個布爾

+1

也許OP想檢查21個可能的代碼之一併採取適當的行動。 [使用Win32_PingStatus](http://msdn.microsoft.com/en-us/library/windows/desktop/aa394350(V = vs.85)的.aspx) – 2012-03-10 21:02:49

1
$r = test-connection computername -count 1 
$r.statuscode 

該作品。