LoginSignup
0
0

More than 1 year has passed since last update.

PSAppDeployToolkitの使い方 (Function解説その1)

Posted at

はじめに

前回に続き、PSAppDeployToolkitの使い方を解説します。
今回は主要Functionを解説してみようと思います。
なお、英語ですが、PSAppDeployToolkit使い方の詳細はPSAppDeployToolkit.pdfの中に詳細に記述されています。

利用可能な変数について

上記のPDFの中のToolkit Reference - Variablesに、PSAppDepolyToolkitで利用可能な変数の説明があります。
後々利用しますので、少しだけ紹介しておきます。

$dirFiles

Filesフォルダのパスです。

$dirSupportFiles

SupportFilesフォルダのパスです。

利用可能なFunctionの一覧

AppDeployToolkitフォルダの中の、AppDeployToolkitHelp.ps1を実行すると英語のヘルプ画面が、一覧表示されます。

image.png

PSAppDeployToolkit.pdfの中のToolkit Reference - Functionsのセクションにも同じ記述がありますね。

主要Function解説

個人的に、これは面白そうだな、使えそうだなと思ったものを解説してみます。

Copy-File

ファイルコピーです。一例として以下のような記述がのっています。
SupportFilesの下に保管したファイルをTempディレクトリの下にコピーする例ですね

Copy-File -Path "$dirSupportFiles\*.*" -Destination "$envTemp\tempfiles"

-Recurseオプションもあるので、再帰的にサブフォルダ下のファイルもコピーできます。

Execute-MSI

MSI形式のインストーラのインストール、アンインストールなどの行為を実行するものです。

以下のような例がのっています。今はなきFlash PlayerのインストールをTrasnformファイル付きで実行するものです。

Execute-MSI -Action 'Install' -Path 'Adobe_FlashPlayer_11.2.202.233_x64_EN.msi' -
Transform 'Adobe_FlashPlayer_11.2.202.233_x64_EN_01.mst' -Parameters '/QN'

アンインストールはMSIのproduct codeを利用して以下のように行います。

Execute-MSI -Action 'Uninstall' -Path '{26923b43-4d38-484f-9b9e-de460746276c}'

Execute-Process

主にexeファイル形式のインストーラを実行するためのものです。各種パラメータを指定して起動時の動作を変えます。
こちらの例では、setup.exeを/sをつけて実行、Hidden指定なので非表示で起動されます。

Execute-Process -Path "$dirFiles\Bin\setup.exe" -Parameters '/S' -WindowStyle 'Hidden'

実行ファイルがFilesフォルダ直下に保管されている場合には、-Pathの次にはファイル名のみでOKのようです。
また、-WorkingDirectoryを利用すると、実行時の作業ディレクトリを指定することもできます。
面白いオプションとして、-SecureParametersをTrueに指定すると、パラメータの情報をログ上に記載しないようにするそうです。センシティブな情報が含まれる場合には便利ですね。
PSAppDeployTooklkitでは、ログに関してもかなり有用な情報が出力されるので、別途説明したいと思います。

Exit-Script

終了にあたりクリーンアップを行いつつ、終了コードを返すことができます。

Exit-Script -ExitCode 1618

Get-FileVersion

指定したファイルのバージョン情報を取得します。
インストールしているアプリのバージョンを知りたい時に簡単にできますね。

Get-FileVersion -File "$envProgramFilesX86\Adobe\Reader 11.0\Reader\AcroRd32.exe"

Get-InstalledApplication

これも便利そうですね、インストール済アプリケーションを取得します。
名前、発行元、バージョン、アンインストールストリングなどを取り出すことができます。
指定する名前のところは、ワイルドカード表現も利用できるようなので、こういう感じの名前のアプリケーションを取得して、順番にアンインストールといったようなこともできそうですね。

Get-InstalledApplication -Name 'Adobe Flash'

Get-PendingReboot

セキュリティパッチの適用などでWindows自体が再起動待ちになっているかどうかを判定します。
この状態でアプリインストールしようとしてもうまくいかない事ありますね。事前にチェックして、再起動待ちなら、先に再起動して。。というメッセージ表示などが可能になりますね。

結構Functionありますね。続きはその2で。。

0
0
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
0
0