2012-03-10 3 views
1

テスト接続サーバー| select-object *テスト接続からStatusCodeを返す

は、StatusCodeの中で多くのプロパティを返します。

どうすればこの値だけを返すことができますか? 私の最高の推測では、

$r = test-connection server 
$r.statuscode 

だろうが、それは動作しません。 どうすればよいですか?

EDIT

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394350%28v=vs.85%29.aspxは、私はまだ..運を受け取らないしたいからstatusCodeに関するより多くの情報を持っています!

答えて

4

Test-Connectionデフォルトでは、コレクション(4 System.Management.ManagementObjectオブジェクト)が表示されます。 Win32_PingStatus WMIクラスを内部的に使用します。

(Test-Connection server -Count 1).StatusCode 

またはこの:だから、あなたがこれを行うことができます

System.Object[] 

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

出力

(Test-Connection server)[0].StatusCode 

忘れてはいけないし、いくつかのpingが失敗しそうであれば可能あなたはただそれをチェックする必要はありませんが、接続。

また、このように直接Win32_PingStatusを呼び出してみてください:

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

残念ながら..私は質問で更なる情報を更新しました! – Sune

+0

@どの部分がうまくいきませんでしたか?プロパティ値または特定のコードを取得していますか?それは私のためにプロパティを返しましたが、Win32_PingStatusを 'Get-WmiObject'で直接呼び出して、別のステータスコードがあるかどうかを調べてみてください。私はサンプルコードを追加しました。 –

1

は、なぜあなたはちょうどしようとしません。

$r = Test-Connection server -Quiet 

$ rは、ブール

+1

おそらく、OPは21の可能なコードの1つをチェックし、適切な処置を取ることを望んでいるでしょう。 [Win32_PingStatus](http://msdn.microsoft.com/en-us/library/windows/desktop/aa394350(v = vs.85).aspx) –

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

この作品です。

関連する問題