見出し画像

PowerShell スクリプトを実行形式(exe)にする

PowerShellスクリプト(PS1)をWindows実行可能プログラム(EXE)に変換することができます。
PS1ファイルの中身を見られたくない、編集されたくない、簡単に実行したい場合などに便利です。
その変換方法を紹介します。


1.PS2EXE モジュールを PowerShell にインストールする

 PS2EXEモジュールはPowerShellスクリプトを実行可能プログラムに変換するオープンソースWindows PowerShellモジュールです。
PowerShellスクリプトを実行可能ファイルに変換します。
まずはPS2EXEをインストールしましょう

管理者としてPowerShellコンソールを開きます。
そして次のコマンドを実行します

Install-Module ps2exe

信頼できないリポジトリに関するプロンプトが表示されたら、
Y と入力して Enter を押します。

信頼されていないリポジトリ
信頼されていないリポジトリからモジュールをインストールしようとしています。このリポジトリを信頼する場合は、Set-PSReposit
ory コマンドレットを実行して、リポジトリの InstallationPolicy の値を変更してください。'PSGallery'
からモジュールをインストールしますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y


2.テスト用のPowerShellスクリプトを用意します

テスト用として下のスクリプトを用意しました

$wsobj = new-object -comobject wscript.shell
$result = $wsobj.popup('こんにちわコルタナです')

ファイルはc:\temp\test.ps1に保存、文字コードはUTF8にします。


3.PowerShellスクリプトをexeに変換する

 ターミナルコンソールから

ps2exe c:\temp\test.ps1 c:\temp\sample.exe

変換完了。

c:\temp\sample.exe を実行すると



4.コンソールを隠すには

 sample.exe を実行するとPowerShellコンソールが表示されます。黒い画面です。
これを防ぐためにはEXEを作成するときに NoConsole パラメータを追加するとコンソールが非表示になります。

ps2exe "c:\temp\test.ps1" "c:\temp\Sample.exe" -noConsole



#PowerShell #PS2EXE #exe変換 #実行可能ファイル #コマンドレット #プログラミング学習 #プログラミング初心者 #Windows

この記事が気に入ったらサポートをしてみませんか?