[Powershell] ISOイメージをマウントした後に自動でファイルを実行する方法


はじめに

ISOイメージをマウントし、ISO内のsetup.exeなどのファイルを自動実行する方法の備忘録です。

おもに、運用展開などで利用するケースを想定しています。

 

ISOファイルをマウントしsetup.exeを実行する

ps1ファイルを作成し以下のように記載します。

# ディスクイメージをマウント
Mount-Diskimage -ImagePath C:\XXXX\test.iso 

# マウントドライブのドライブレターを取得する
$drive = (Get-DiskImage C:\XXXX\test.iso | Get-Volume).DriveLetter 

# 実行するパスを設定
$executePath = $drive + ":\setup.exe" 

# ファイルを実行する
start-process "$executePath" -wait 

# イメージをアンマウント
Dismount-DiskImage -ImagePath C:\XXXX\test.iso

上記を作成したら、batファイルで以下のコマンドを実行

powershell Set-ExecutionPolicy unrestricted C:¥xxxxx¥test.ps1

 

さいごに

ISOイメージを配布して、自動で実行させたいケースに対して参考にしてみてください。