Test-Connection
ICMP エコー要求パケット (ping) を 1 つ以上のコンピューターに送信します。
構文
Default (既定)
Test-Connection
[-ComputerName] <String[]>
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Source
Test-Connection
[-ComputerName] <String[]>
[-Source] <String[]>
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Credential <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Quiet
Test-Connection
[-ComputerName] <String[]>
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[-Quiet]
[<CommonParameters>]
説明
Test-Connection コマンドレットは、インターネット制御メッセージ プロトコル (ICMP) エコー要求パケット (ping) を 1 台以上のリモート コンピューターに送信し、エコー応答を返します。 このコマンドレットを使用して、特定のコンピューターに IP ネットワーク経由で接続できるかどうかを判断できます。
Test-Connection のパラメーターを使用して、送受信コンピューターの両方を指定したり、コマンドをバックグラウンド ジョブとして実行したり、タイムアウトと ping の数を設定したり、接続と認証を構成したりできます。
使い慣れた ping コマンドとは異なり、Test-Connection は PowerShell で調査できる Win32_PingStatus オブジェクトを返します。
Quiet パラメーターは、テストされた接続ごとに、System.Boolean オブジェクト内のブール値の値を返します。 複数の接続がテストされた場合、ブール値の 配列 が返されます。
例
例 1: リモート コンピューターにエコー要求を送信する
この例では、ローカル コンピューターから Server01 コンピューターにエコー要求パケットを送信します。
Test-Connection -ComputerName Server01
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 1
Test-Connection は、ComputerName パラメーターを使用して Server01 コンピューターを指定します。
例 2: 複数のコンピューターにエコー要求を送信する
この例では、ローカル コンピューターから複数のリモート コンピューターに ping を送信します。
Test-Connection -ComputerName Server01, Server02, Server12
例 3: 複数のコンピューターから 1 台のコンピューターにエコー要求を送信する
この例では、異なるソース コンピューターから 1 台のリモート コンピューター Server01 に ping を送信します。
Test-Connection -Source Server02, Server12, localhost -ComputerName Server01 -Credential Domain01\Admin01
Test-Connection では、Credential パラメーターを使用して、ソース コンピューターから ping 要求を送信するアクセス許可を持つユーザーの資格情報を指定します。 このコマンド形式を使用して、複数のポイントからの接続の待機時間をテストします。
例 4: パラメーターを使用してテスト コマンドをカスタマイズする
この例では、Test-Connection のパラメーターを使用してコマンドをカスタマイズします。 ローカル コンピューターからリモート コンピューターに ping テストが送信されます。
Test-Connection -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32
Test-Connection は、 ComputerName パラメーターを使用して Server01 を指定します。
Count パラメーターは、遅延 が 2 秒間隔で Server01 コンピューターに送信される 3 つの ping を指定します。
これらのオプションは、ホップ数が長いか、トラフィックの多いネットワーク状態が原因で、ping 応答に通常よりも長い時間がかかると予想される場合に使用できます。
例 5: バックグラウンド ジョブとしてテストを実行する
この例では、powerShell バックグラウンド ジョブとして Test-Connection コマンドを実行する方法を示します。
$job = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}
Test-Connection コマンドは、企業内の多くのコンピューターに ping を実行します。
ComputerName パラメーターの値は、Get-Contentからコンピューター名の一覧を読み取る Servers.txt file コマンドです。 このコマンドは、AsJob パラメーターを使用してバックグラウンド ジョブとしてコマンドを実行し、ジョブを $job 変数に保存します。
if コマンドは、ジョブがまだ実行されていないことを確認します。 ジョブが実行されていない場合、Receive-Job は結果を取得し、$Results 変数に格納します。
例 6: 資格情報を使用してリモート コンピューターに ping を実行する
このコマンドでは、Test-Connection コマンドレットを使用してリモート コンピューターに ping を実行します。
Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify
このコマンドでは、
例 7: 接続テストが成功した場合にのみセッションを作成する
この例では、コンピューターに送信された ping の少なくとも 1 つが成功した場合にのみ、Server01 コンピューターにセッションを作成します。
if (Test-Connection -ComputerName Server01 -Quiet) {New-PSSession Server01}
if コマンドは、Test-Connection コマンドレットを使用して Server01 コンピューターに ping を実行します。 このコマンドでは、Quiet パラメーターを使用します。このパラメーターは、Win32_PingStatus オブジェクトの代わりに、ブール 値を返します。 この値は、4 つの ping のいずれかが成功した場合に $true され、それ以外の場合は $false。
Test-Connection コマンドが $trueの値を返す場合、コマンドは New-PSSession コマンドレットを使用して、PSSessionを作成します。
パラメーター
-AsJob
このコマンドレットがバックグラウンド ジョブとして実行されることを示します。
AsJob パラメーターを指定すると、コマンドはすぐにバックグラウンド ジョブを表すオブジェクトを返します。 ジョブが完了している間も、セッションで作業を続けることができます。 ジョブの結果を取得するには、Receive-Job コマンドレットを使用します。
PowerShell バックグラウンド ジョブの詳細については、「about_Jobs と about_Remote_Jobs」を参照してください。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Default
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
Source
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-BufferSize
このコマンドで送信されるバッファーのサイズをバイト単位で指定します。 既定値は 32 です。
パラメーターのプロパティ
| 型: | Int32 |
| 規定値: | 32 |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | サイズ, バイト(データ単位), 理学士 |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ComputerName
ping するコンピューターを指定します。 コンピューター名を入力するか、IPv4 または IPv6 形式で IP アドレスを入力します。 ワイルドカード文字は使用できません。 このパラメーターは必須です。
このパラメーターは、PowerShell リモート処理には依存しません。 コンピューターがリモート コマンドを実行するように構成されていない場合でも、ComputerName パラメーターを使用できます。
注
ComputerName パラメーターの名前は、PowerShell 6.0 以降では TargetName に変更されます。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | CN, IPアドレス, __サーバー, サーバー, 行き先 |
パラメーター セット
(All)
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Count
送信するエコー要求の数を指定します。 既定値は 4 です。
パラメーターのプロパティ
| 型: | Int32 |
| 規定値: | 4 |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Credential
ソース コンピューターから ping 要求を送信するアクセス許可を持つユーザー アカウントを指定します。 User01 や Domain01\User01 などのユーザー名を入力するか、 PSCredential オブジェクト ( Get-Credential コマンドレットのオブジェクトなど) を入力します。
Credential パラメーターは、Source パラメーターがコマンドで使用されている場合にのみ有効です。 資格情報は、対象のコンピューターには影響しません。
パラメーターのプロパティ
| 型: | PSCredential |
| 規定値: | Current user |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Source
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-DcomAuthentication
このコマンドレットが WMI で使用する認証レベルを指定します。
Test-Connection は WMI を使用します。
このパラメーターに使用できる値は次のとおりです。
- Default。 Windows 認証
- [なし]。 COM 認証なし
- 接続。 接続レベルの COM 認証
- 呼び出す。 呼び出しレベルの COM 認証
- パケット。 パケット レベルの COM 認証
- PacketIntegrity。 パケット整合性レベルの COM 認証
- PacketPrivacy。 パケット プライバシー レベルの COM 認証
- 変更なし。 前のコマンドと同じ
既定値は、4の列挙値を持つパケット
パラメーターのプロパティ
| 型: | AuthenticationLevel |
| 規定値: | Packet (enumerated value of 4) |
| 指定可能な値: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | 認証 |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Delay
ping の間隔を秒単位で指定します。
パラメーターのプロパティ
| 型: | Int32 |
| 規定値: | 1 (second) |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Impersonation
このコマンドレットが WMI を呼び出すときに使用する偽装レベルを指定します。
Test-Connection は WMI を使用します。
このパラメーターに使用できる値は次のとおりです。
- Default。 既定の偽装。
- 匿名。 呼び出し元の ID を非表示にします。
- 識別します。 オブジェクトが呼び出し元の資格情報を照会できるようにします。
- を偽装します。 オブジェクトが呼び出し元の資格情報を使用できるようにします。
既定値はの偽装
パラメーターのプロパティ
| 型: | ImpersonationLevel |
| 規定値: | Impersonate |
| 指定可能な値: | Default, Anonymous, Identify, Impersonate, Delegate |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Protocol
プロトコルを指定します。 このパラメーターに使用できる値は、DCOM と WSMan です。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| 指定可能な値: | DCOM, WSMan |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Quiet
Quiet パラメーターは、System.Boolean オブジェクトの ブール 値を返します。 このパラメーターを使用すると、すべてのエラーが抑制されます。
テストされた各接続は、ブール 値を返します。
ping
すべての ping が失敗
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Quiet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Source
ping が発生するコンピューターの名前を指定します。 コンピューター名のコンマ区切りの一覧を入力します。 既定値はローカル コンピューターです。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | Local computer |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | FCN, SRC |
パラメーター セット
Source
| 配置: | 1 |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ThrottleLimit
このコマンドを実行するために確立できる同時接続の最大数を指定します。 このパラメーターを省略するか、値 0 を入力すると、既定値の 32 が使用されます。
スロットル制限は、セッションまたはコンピューターではなく、現在のコマンドにのみ適用されます。
パラメーターのプロパティ
| 型: | Int32 |
| 規定値: | 32 |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Default
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
Source
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-TimeToLive
パケットを転送できる最大時間を指定します。 ゲートウェイ、ルーターなどのホップごとに、TimeToLive の値が 1 ずつ減少します。 ゼロの場合、パケットは破棄され、エラーが返されます。
パラメーターのプロパティ
| 型: | Int32 |
| 規定値: | 128 in Windows |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | TTL |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-WsmanAuthentication
このコマンドレットが WSMan プロトコルを使用するときにユーザー資格情報を認証するために使用されるメカニズムを指定します。 このパラメーターに使用できる値は次のとおりです。
- Basic
- CredSSP
- 既定値
- ダイジェスト
- Kerberos
- 交渉する。
既定値は Default です。
このパラメーターの値の詳細については、「AuthenticationMechanism 列挙を参照してください。
注意: ユーザー資格情報が認証されるリモート コンピューターにユーザー資格情報が渡される資格情報セキュリティ サービス プロバイダー (CredSSP) 認証は、リモート ネットワーク共有へのアクセスなど、複数のリソースで認証を必要とするコマンド用に設計されています。 このメカニズムにより、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターが侵害された場合、それに渡される資格情報を使用してネットワーク セッションを制御できます。
このパラメーターは、Windows PowerShell 3.0 で導入されました。
パラメーターのプロパティ
| 型: | String |
| 規定値: | Default |
| 指定可能な値: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
ManagementObject
既定では、このコマンドレットは ping 応答ごとに Win32_PingStatus オブジェクトを返します。
System.Management.Automation.RemotingJob
このコマンドレットは、AsJob パラメーターを指定すると、ジョブ オブジェクトを返します。
Boolean
Quiet パラメーターを使用すると、Boolean 値が返されます。 コマンドレットが複数の接続をテストする場合、ブール値の配列 を返します。
メモ
このコマンドレットでは、Win32_PingStatus クラスを使用します。
Get-WmiObject Win32_PingStatus コマンドは、Test-Connection コマンドと同じです。
Source パラメーター セットは、PowerShell 3.0 で導入されました。