PowerShellを使う機会が増えてきたが,デスクトップにあるPowerShellのアイコンをダブルクリックしても,メモ帳が開いてソースコードが見れるだけ...
もっとサクッとPowerShellを起動できるようにしたい...
というわけで,調べてみた.
#起動パターン
ダブルクリックするとPowerShel or PowerShell(ISE)を起動して実行してくれるか即実行してくれる方法が楽そう.コマンドプロンプトからバッチファイルを挟んで実行する方法もあるが準備がめんどい...
自分は,ソースコードを直しては動くか確認の繰り返しが多いので,PowerShell(ISE)を起動するようにした.
#ダブルクリックでPowerShell(ISE)を起動
これは簡単.以下手順
- 適当な名前の.ps1ファイルを作成
- 右クリックで[プログラムから開く]>[別のプログラムを選択]をクリック
- [その他のアプリ]>[このPCから別のアプリを探す]をクリックするとエクスプローラが起動
- エクスプローラで C:\Windows\System32\WindowsPowerShell\v1.0 に移動
- PowerShellで起動したければpowershell.exeを,PowerShell(ISE)で起動したければpowershell_ise.exeを選択し,[開く]をクリック
ちなみに,PowerShell(ISE)は実行ボタン[▶]押さなくても,F5で簡単に実行できる.ファイルの保存も必要なし.
#ダブルクリックで即実行
ダブルクリックして,ファイルを[開く]ではなく[PowerShellで実行]したい場合はこっち.以下手順.
- [Windows]+[R]で,[ファイルを指定して実行]ウインドウを開き,[名前:]にregeditと入力
- レジストリエディタが開くので,コンピューター\HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1に移動
- ここで,Shellをクリックすると,下の表ようになっているので,(既定)をダブルクリックし,[値のデータ]を0に書き換えて[OK]をクリック.
- 値を変更したら,レジストリエディタは閉じてOK.
<レジストリエディタの値>
名前 | 種類 | データ |
---|---|---|
(既定) | REG_SZ | Open |
ただし,この起動方法だと処理終了後ウインドウがすぐ閉じてしまうので,エラーの確認とかができないので注意.
#実行ポリシー
設定を変更しても以下のようにエラーが出て,実行ポリシーの問題で上手くいかない可能性がある.
ファイル XXX.ps1 を読み込めません。
ファイル XXX.ps1 はデジタル署名されていません。このスクリプトは現在のシステムでは実行できません。スクリプトの実行および実行ポリシーの設定の詳細
については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
+ CategoryInfo : セキュリティ エラー: (: ) []、ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess
管理者権限で以下のコマンドレットを実行すると,実行ポリシーが変更されスクリプトを実行できるようになる.
>PowerShell Set-ExecutionPolicy RemoteSigned