【Powershell】PING/IPCONFIGが実行できない/使えない

PINGが実行できなくて困った場合の解消方法

結論としてはパスが通ってなかったので、パスを通すことで改善しましたという話です。

PINGが実行できなくなった

Powershellで実行した場合の出力
./ping : 用語 ‘./ping’ は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ ./ping
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (./ping:String) [],CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

なぜかわからぬ。何かプログラムをインストールしたときにパスが書き換わったのか?
とりあえず、以下コマンドでSystem32に移動して再度実行してみたところ

***> cd C:\Windows\System32
PS C:\Windows\System32> ping
出力結果
Suggestion [3,General]: コマンド ping は見つかりませんでしたが、現在の場所に存在します。Windows PowerShell は、既定では 、現在の場所からコマンドを読み込みません。このコマンドを信頼する場合は、”.\ping” と入力してください。詳細については、”get-help about_Command_Precedence” と入力してヘルプを参照してください。

内容を見る限りExe自体はちゃんとありそう。エクスプローラでも確認しましたが、しっかりありました。

解決方法

実行コマンド

やはり、パスが通ってなかっただけだったので、以下コマンドでパスを通すことで問題が解決しました。

PS C:\Windows\System32> $ENV:Path=”C:\Windows\System32;”+$ENV:Path
“C:\Windows\System32;”を既存の$ENV:Pathに足してあげるコマンドです。
※間違って上書きしないように気を付けてください。
※ ; セミコロンは必須です。以下コマンドで設定内容をを確認できます。

※ほかにも変更方法はいくつかありますが、コマンドプロンプトの方がサクッとできるので今回はこの方法でやりました。

パスの設定内容確認

実際に設定されたパスを確認する場合は以下コマンドが便利です。
PS C:\Windows\System32> $ENV:Path.Split(“;”)

パス設定後の結果

PS C:\Windows\System32> ping
出力結果
使用法: ping [-t] [-a] [-n 要求数] [-l サイズ] [-f] [-i TTL] [-v TOS]
[-r ホップ数] [-s ホップ数] [[-j ホスト一覧] | [-k ホスト一覧]]
[-w タイムアウト] [-R] [-S ソースアドレス] [-c コンパートメント]
[-p] [-4] [-6] ターゲット名
以上
ご参考
管理者権限が必要かもしれないので、その場合は
Winキー → ”powershell” と入力し、右クリックから”管理者として実行”
でできます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする