更新日:2020/08/24
このページでは Windows 10 環境における Powershell で指定した IP アドレスへ PING を送るサンプルコードを紹介します。サーバの監視を行うなど運用で使用する場合に参考にしてください。
Powershell の戻り値である $True あるいは $False を戻すので処理が簡単です。
以下の例では自分自身へ PING を送信しています。通常は127.0.0.1. は PING の応答を戻すので $True を返しています。
-Quiet オプションを使用しないと出力が大量に出力されてしまうため、$True と $False では判定できなくなります。
サンプルコード:
#自分自身へ PING 送信
$ret = Test-Connection 127.0.0.1 -Quiet
write-host $ret
実行結果:
True
次の例はこの環境では存在しない IP である 200.0.0.1 に PING を送信しています。結果(戻り値) は False が戻っています。
サンプルコード:
# 存在しない IP アドレスへ PING
$ret = Test-Connection 200.0.0.1 -Quiet
write-host $ret
実行結果:
False
以下の例ではTest-Connection の戻り値によって処理を分岐しています。戻り値が $True か $False で判定しています。
サンプルコード:
$IPAddress = "127.0.0.1"
if ((Test-Connection $IPAddress -Quiet) -eq $True)
{
write-host "${IPAddress} は応答しました。"
}
else
{
write-host "${IPAddress} は応答しませんでした。"
}
実行結果:
127.0.0.1 は応答しました。
存在しないアドレスに送信すると以下のようなエラーが戻るようです。
PS C:\> Test-Connection 192.168.11.15 Test-Connection : コンピューター '192.168.11.15' への接続テストが失敗しました: データベースの参照中に、修復できないエラーが発生しました。
発生場所 行:1 文字:1
+ Test-Connection 192.168.11.15
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (192.168.11.15:String) [Test-Connection], PingException
+ FullyQualifiedErrorId : TestConnectionException,Microsoft.PowerShell.Commands.TestConnectionCommand
PS C:\> Test-Connection 200.0.0.1 Test-Connection : コンピューター '200.0.0.1' への接続テストが失敗しました: リソース不足のためのエラー。発生場所 行:1 文字:1
+ Test-Connection 200.0.0.1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (200.0.0.1:String) [Test-Connection], PingException
+ FullyQualifiedErrorId : TestConnectionException,Microsoft.PowerShell.Commands.TestConnectionCommand
サンプルコード:
理論的に存在しないアドレスへ送信すると以下のようなエラーが出力されるようです。
PS C:\> Test-Connection 192.168.11.1500 Test-Connection : コンピューター '192.168.11.1500' への接続テストが失敗しました: そのようなホストは不明です。
発生場所 行:1 文字:1
+ Test-Connection 192.168.11.1500
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (192.168.11.1500:String) [Test-Connection], PingException
+ FullyQualifiedErrorId : TestConnectionException,Microsoft.PowerShell.Commands.TestConnectionCommand
サンプルコード:
[Powershell FAQ トップへ]
[FAQ CENTER トップ]
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018