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
この記事が気に入ったらサポートをしてみませんか?