2022年6月25日土曜日

Powershell 7 スクリプト を D&Dで実行する

Powershell 7 の ドラッグアンドドロップでの実行方法

実行環境:Windows10 x64、Powershell 7.2.4

 最近、従来のバッチファイルからPower shell 7 に頑張って乗り換えようとしています。
 そこで、自分が躓いた事を後学の人の参考になればと思い、備忘録も兼ねて書きました。
 参考になったら幸いです。 
 
 Powershell と Powershell 7 はバージョンが違うため、異なるところが多々あります!
 必ずPowershell 7 の最新バージョンをインストールした上でこの記事をお読みください!

はじめに・・・Powershellの実行ポリシーの変更

 Powershellで自分のスクリプトを書いても、デフォルトのセキュリティの都合により実行できないという事が多々あります。
 はじめに、ローカルファイルにあるPowershellスクリプトの実行ポリシーを変更しましょう。
 
 必ず Powershell 7 を管理者権限で起動し、下記のコマンドで実行ポリシーを変更してください。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

 デフォルトの設定だと、Powershell の ExecutionPolicy は Undefined となっています。
 そこでローカルで作成された Powershell スクリプトを容易に動かせるように、現在のユーザー (CurrentUser) に対して RemoteSigned されたファイルの実行ポリシー (ExecutionPolicy) をこのコマンドで変更しています。
 このコマンドにより、インターネット上で取得した署名済みの Powershell スクリプトと、ローカルで作成された Powershell スクリプト(署名なし含む) が動かせるようになります。

ここまでの参考資料
Qiita : PowerShellの実行ポリシー変更
Microsoft : 実行ポリシーについて - Powershell

D&Dによる Powershell スクリプトの実行方法

 さて本題です。
 自作した Powershell スクリプトを D&D で実行させる方法です。

 最初に作ったPowershell スクリプトのショートカットを作ります。
 その後、作ったショートカットファイルの ”リンク先” に以下のように記入してください。

"C:\Program Files\PowerShell\7\pwsh.exe" -File  "C:\hoge\Powershell-Script.ps1"

 “C:\hoge\Powershell-Script” の部分は適宜変更してください。

 これで、PowershellスクリプトがD&Dで動くようになりました。バッチファイルのようにスクリプトを書けばD&Dで動かせるようになります。

 ただ、D&Dしたファイルの名前の取り出し方や、ファイルパス、拡張子の取り出し方は、バッチファイルと違って一工夫必要です。次回はその事をネタにした記事を書きます。

参考資料
Qiita : PowerShellをダブルクリックやドラッグアンドドロップで実行したい。
PowerShellスクリプトへファイルをドラッグ&ドロップする(bat不要)

0 件のコメント: