PowerShellスクリプト(.ps1ファイル)はダブルクリックしてもバッチファイルのように実行されず、メモ帳でファイルが開くだけです。
これはPowerShellが色々できすぎるため、セキュリティを考慮して間違えて実行したり、簡単に実行できたりしないようになっているようです。
ですが、よく使用するPowerShellスクリプトは簡単に実行できないと不便です。そこで、この記事ではいくつかの方法を紹介したいと思います。
PowerShellスクリプトをダブルクリックで実行するには
PowerShellスクリプトをダブルクリックで実行する方法を紹介します。ここで紹介した方法はダブルクリックだけでなくドラッグ&ドラップでも実行できます。
ショートカットを使用する
「項目の場所を入力してください(リンク先)」を以下の内容でショートカットを作成します。
powershell -ExecutionPolicy RemoteSigned -File [PowerShellスクリプトのフルパス]
ショートカットの作り方がわからない場合は以下の記事をご覧ください。
使用できる追加オプション
オプションは以下のようなものもあります。状況によって追加してください。
- -WindowStyle Hidden
スクリプト実行時にPowerShell画面を隠す - -NoExit
スクリプト終了後にPowerShell画面を残す - -NoProfile
PowerShellプロファイルの読み込みを避ける
ただし、「-File」の前に追加する必要があります。
バッチファイルを使用する
バッチファイルはダブルクリックで実行可能なため、その中でPowerShellスクリプトを呼び出します。
以下の内容をファイル名は任意で、拡張子は「.cmd」か「.bat」で保存してください。
@echo off powershell -ExecutionPolicy RemoteSigned -File [PowerShellスクリプトのフルパス] exit
powershellの行は「ショートカットを使用する」の「使用できる追加オプション」と同じものが使用できます。
既定の動作を変更する
セキュリティを気にしないのであれば、既定の動作を変更してPowerShellスクリプト自体をダブルクリックで実行することも可能です。
既定の動作を変更するにはレジストリの変更が必要です。
※レジストリにはOSにかかわる重要なデータも存在するので、レジストリエディターを使用して編集を行うときは事前にバックアップをとっておくなど、慎重に作業してください。 レジストリエディターの使用によって発生した問題の解決は保証できないため、自己責任でお願いします。
レジストリのバックアップ方法がわからない場合は以下の記事をご覧ください。
- ショートカットキーの[Windows]キー + [R]キーで「ファイル名を指定して実行」を開きます。
- 「regedit」と入力して[OK]をクリックします。
- 「ユーザーアカウント制御」画面が表示された場合は[はい]をクリックします。
- 「HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell」を選択し、右ペインの「(規定)」を右クリックして、表示されたメニューから[修正]をクリックします。
- 「文字列の編集」画面で 「値のデータ」を「Open」から「0(ゼロ)」に変更し、[OK]をクリックします。
「HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell」の配下にある「0」「Edit」「Open」の3つのキーはPowerShellスクリプトを右クリックした時にメニューに表示される「PowerShellで実行」「編集」「開く」にそれぞれ対応しています。
「Open」を「0」に変更することで、ダブルクリック時の既定の動作を「開く」から「PowerShellで実行」に変更しています。
※ バージョンによっては「0」や「Edit」の値は無いかもしれません。ただし、設定変更でダブルクリックで実行できるようになったことは確認できました。
コメント