BETA

特定ホストへの`ping`応答の疎通結果をPowerShellで半自動化する

投稿日:2020-04-23
最終更新:2020-04-23

何台も手動でpingで疎通確認をするのは地味に面倒なので自動化します。

# Ping応答確認  

# server list (0: IP address, 1: Server Name)  
$server_list = @(  
    @(  
        "xxx.xxx.xxx.xxx",  
        "Water Server"  
    ),  
    @(  
        "yyy.yyy.yyy.yyy",  
        "Beer Server"  
    ),  
    @(  
        "zzz.zzz.zzz.zzz",  
        "Drink Server"  
    )  
)  

# loop  
for($i = 0; $i -lt $server_list.Count; $i++) {  
    if(Test-Connection $server_list[$i][0] -Quiet -Count 4) {  
        Write-Host($server_list[$i][1] + ": booted!")  
    }  
    else {  
        Write-Host($server_list[$i][1] + ": shutdowned...")  
    }  
}  

こんなPowerShellを書いてShift-JISで保存(仮にwatchdog.ps1とします)。

rem WatchTower Library実行  
echo プログラム開始  

PowerShell .\watchdog.ps1  

pause  

rem WatchTower Library終了  
echo プログラム終了  

こんなbatをps1ファイルと同じフォルダに保存。あとはbatをダブルクリックすればOK。

頻繁に使うものでもないのでデータを外部に持たせるとかもせず雑に済ませました。これでも、少なくとも手動で叩いていくよりはマシかなぁ、と。

参考

PowerShellの構文

実行権限

bat

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

アルム=バンドのQrunch

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう