Windows TIPS
[PowerShell]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

PowerShellスクリプトへのショートカットを作成する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2008/05/16
対象ソフトウェア
PowerShell
PowerShellのスクリプトは.ps1というファイルに保存する。.ps1ファイルはデフォルトではメモ帳に関連付けられており、単にショートカットをダブルクリックしてもメモ帳が開くだけである。
.ps1ファイルへのショートカットを使ってスクリプトを実行したければ、リンク先にpowershellというコマンド名を追加する。
-noexitオプションを指定すると、スクリプトの実行終了後もウィンドウが開いたままになり、結果を確認しやすくなる。

解説

 PowerShellを利用すれば、さまざまなシステム管理業務(特に定型的な処理)をスクリプトを使って自動化できる。PowerShellは、バッチ・コマンドやWSHよりも高度で使いやすい機能を多く備えるため、利用する場面も今後は多くなるだろう。

Windows PowerShellコマンド&スクリプティング入門―1.PowerShellスクリプトの基本
PowerShellスクリプトの実行セキュリティ・ポリシーを変更する(TIPS)

 PowerShellのスクリプトは、「.ps1」という拡張子のファイルに保存することになっているが、デフォルトではこの拡張子はテキスト・ファイルとして扱われる。そのため、エクスプローラ上で.ps1ファイルをダブルクリックしたり、コマンド・プロンプトや[ファイル名を指定して実行]で.ps1ファイルを指定したりしても、メモ帳が起動するだけである。もしデフォルトで実行ファイルになっていると、ウイルスとして実行させたり、メールなどに添付して配布/実行させたりといったことが簡単にできてしまうため、このようになっている。PowerShellスクリプトとして実行したければ、ユーザーが明示的にPowerShellを起動し、スクリプト・ファイルを指定する必要がある。ただしあらかじめスクリプトを実行できるように、セキュリティ設定を変更しておく必要がある。詳細については関連記事を参照していただきたい。

 このようなデフォルトの挙動は、セキュリティのためには有用であるが、PowerShellに慣れていないユーザーでは操作に戸惑うかもしれない。よく使うスクリプト(.ps1ファイル)へのショートカットを作成してダブルクリックしても、単にメモ帳が起動するだけで、実行できないからだ。これを解決するには、ショートカットのプロパティを変更して、PowerShellの実行プログラムへのパスを追加すればよい。本TIPSでは、.ps1ファイルへのショートカットを作成する方法について解説する。

操作方法

手順1――.ps1ファイルへのショートカットを作成する

 PowerShellのスクリプト・ファイル、つまり.ps1ファイルをショートカットとして登録するためには、まず.ps1ファイルへのショートカットを作成する。エクスプローラ上で.ps1ファイルを右クリックして、ポップアップ・メニューから[ショートカットの作成]を選んでもよいし、[コピー]後に[ショートカットの貼り付け]を実行するか、[新規作成]−[ショートカット]で作成してもよい。

.ps1ファイルへのショートカットのプロパティ
まず.ps1ファイルへのショートカットを作成する。
作成した.ps1ファイルへのショートカット名。
作成した.ps1ファイルのフルパス名。
.ps1ファイルの保存されているフォルダのパス名。

 このショートカットをダブルクリックすると、単にメモ帳が起動し、リンク先の.ps1ファイルが開かれることを確認しておく。

手順2――リンク先に「powershell」を追加する

 次に作成したショートカットの[プロパティ]ダイアログを開き、「リンク先」の文字列(つまり.ps1ファイルのフルパス名)の先頭に、「powershell 」を追加する。つまりpowershell.exeという実行プログラム名を指定し、元の.ps1ファイルをその引数になるように変更する。

リンク先の変更
リンク先のパス名の直前に、「powershell 」という文字列を追加して、powershell.exeコマンドとその引数に変更する。
元のリンク先の直前に「powershell 」という文字列を追加する。「powershell」と元のパス名の間に、空白文字を1つ入れることを忘れないように。

 以上で設定は完了である。[OK]ボタンを押すとショートカットの内容が変更され、ショートカットのアイコンもPowerShellのアイコンに変更されているはずである。もう一度プロパティを開くと、「リンク先」は「C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe C:\MyScript\testps.ps1」のように変更されていることが確認できるはずである。これはowershell.exeの実際のファイル・パスに置き換えられたためであるが、もしそうなっていなければ、PowerShellのインストールがうまくいっていない可能性がある。

 このようにして作成されたショートカットをダブルクリックすると、PowerShellのウィンドウが開かれ、指定されたスクリプトが実行されているはずである。ただしスクリプトの内容や使用するコンピュータによっては、実行がすぐに終了してしまい、その動作状況を確認できないことがある。スクリプトの実行終了後もPowerShellのウィンドウを開いたままにするためには、上記のリンク先の変更において、単に「powershell 」ではなく、「powershell -noexit 」という文字列を追加すればよい(これはPowerShellの実行ファイルに対して-noexitというオプションを指定している)。

 これを実行すると、例えば次のように、スクリプトの実行後もPowerShellのウィンドウが開いたままになり、結果を確認しやすくなる。End of Article

-noexitオプション指定時の動作
結果が画面にしか表示されないようなスクリプトの場合は、ショートカットに「powershell -noexit 」と追加すると、このようにスクリプトの終了後もPowerShellのウィンドウが開いたままになり、結果を確認しやすくなる。結果を特定のファイルに保存するものや、タスクで自動実行させるようなスクリプトならば、このような設定は不要だろう。なおショートカットでPowerShellスクリプトを起動するためには、PowerShellの設定をあらかじめ変更しておく必要がある。詳細については前出の「Windows PowerShellコマンド&スクリプティング入門」、TIPS「PowerShellスクリプトの実行セキュリティ・ポリシーを変更する」を参照していただきたい。
.ps1ファイルへのショートカット名。
スクリプトの実行結果。この例では、スクリプト・ファイル中には「ps」という1行のコマンドだけを記述しておいた。psはプロセスの一覧を表示させるコマンドである。
スクリプトの実行終了後もこのようにウィンドウが開いたままになり、ウィンドウをスクロールして結果を確認できる。PowerShellを終了するにはexitコマンドを実行する。

関連記事(Windows Server Insider)
  Windows PowerShellコマンド&スクリプティング入門
  Windowsスクリプティング環境比較:PowerShell vs WSH
     
  関連リンク
  Windows PowerShell スクリプトを [ファイル名を指定して実行] ダイアログ ボックスやショートカットから実行する方法(マイクロソフト Script Guy)
  Windows PowerShell でのスクリプティング(マイクロソフト)
     
「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
  • Mastodon(マストドン) (2017/4/26)
     ネット上で話題の「Mastodon」について解説。次世代Twitterとも称されるMastodonとはどのようなものなのか、特徴や問題点などを見ていこう
  • 第546話 悪夢のワケ (2017/4/25)
     うーーん……うわぁぁ! ハッ! あぁ、またインベーダーが迫ってくる夢か……、最近こればっかりだな…… はぁはぁ
  • Gmailを便利に使うための初期設定TIPS 8選 (2017/4/21)
     Gmailを便利に使うための初期設定をまとめた。Gmailを使い始めたら、この初期設定を行おう。うっかり誤送信を防止できたり、スターの使い勝手が向上したりする
  • HTTP Cookieとは何か? その役割は? (2017/4/20)
     ステートレスなHTTPプロトコルにおいて、セッション管理やユーザーの行動追跡などを行うために使われているCookie。その概要を解説
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH