1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PS2EXEを用いてPowerShellスクリプト(.ps1)から実行形式ファイル(.exe)を作成する

Posted at

概要

PS2EXEを用いてPowerShellスクリプト(.ps1)から実行形式ファイル(.exe)を作成する手順を述べる.

詳細

PS2EXEのインストール

管理者権限でPowerShellを起動し,コマンド Install-Module ps2exe を実行する.

PS C:\WINDOWS\system32> Install-Module ps2exe

NuGetプロバイダーがインストールされていない場合,以下の表示が出る.
Yを入力してNuGetプロバイダーをインストールする.

続行するには NuGet プロバイダーが必要です
PowerShellGet で NuGet ベースのリポジトリを操作するには、'2.8.5.201' 以降のバージョンの NuGet
プロバイダーが必要です。NuGet プロバイダーは 'C:\Program Files\PackageManagement\ProviderAssemblies' または
'C:\Users\denkiuo604\AppData\Local\PackageManagement\ProviderAssemblies' に配置する必要があります。'Install-PackageProvider
-Name NuGet -MinimumVersion 2.8.5.201 -Force' を実行して NuGet プロバイダーをインストールすることもできます。今すぐ
PowerShellGet で NuGet プロバイダーをインストールしてインポートしますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"):

特に何も設定していなければ,PSGalleryは信頼されていないリポジトリとして認識される.
Yを入力してインストールを続ける.

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

これでPS2EXEのインストールは終了である.

実行形式ファイルの作成

実行形式ファイルにしたいPowerShellスクリプトが配置されているフォルダで,PowerShellを起動する.
例として,本稿では C:\Users\denkiuo604\program.ps1 を実行形式ファイルにすることを考える.

この手順においては,PowerShellを管理者権限で起動する必要はない.

初めに,コマンド Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process を実行する.

PS C:\Users\denkiuo604> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

上記はPowerShellの実行ポリシーを変更するコマンドである.これを実行せずに以降の手順を進めると,次のエラーが発生してPS2EXEが実行されない.

ps2exe : 'ps2exe' コマンドはモジュール 'ps2exe' で見つかりましたが、このモジュールを読み込むことができませんでした。詳
細については、'Import-Module ps2exe' を実行してください。
発生場所 行:1 文字:1
+ ps2exe
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (ps2exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

コマンドの意味や実行ポリシーについては,以下の記事などを参照されたい.
PowerShellでこのシステムではスクリプトの実行が無効になっているため、ファイル hoge.ps1 を読み込むことができません。となったときの対応方法 - Qiita

次に,ps2exe コマンドを実行する.

PS C:\Users\denkiuo604> ps2exe .\program.ps1
PS2EXE-GUI v0.5.0.29 by Ingo Karstein, reworked and GUI support by Markus Scholtes


Reading input file C:\Users\denkiuo604\program.ps1
Compiling file...

Output file C:\Users\denkiuo604\program.exe written

これで,PowerShellスクリプトと同じフォルダに実行形式ファイルが作成される.

参考

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?