PSCONFIGUI.EXE と PSCONFIG.EXE はどちらを使うべきか

こんにちは、SharePoint サポートの川添です。
今回の投稿では、Senior Escalation Engineer Stefan Gossner さんが投稿している以下の記事をベースに、PSCONFIGUI.EXE と PSCONFIG.EXE の相違について説明したいと思います。なお、本投稿は、作者の許可を得て投稿、一部追記しています。

Why I prefer PSCONFIGUI.EXE over PSCONFIG.EXE

PSCONFIG.EXE と PSCONFIGUI.EXE は、いずれも構成ウィザードとして知られる、コマンドベースラインのツール、GUI ベースのツールという相違があります。
PSCONFIGUI.EXE は、SharePoint で更新プログラムの適用後に実施するいくつかのタスクを実施する UI ベースの構成ウィザードです。
PSCONFIG.EXE は、より詳細なオプションを指定することのできるコマンドラインツールであり、そのオプションの指定次第では UI ベースの構成ウィザードよりも短時間で完了することもあります。

一方、コマンドラインツールである PSCONFIG.EXE は、その性質上どの操作を実施するかは、実施するユーザーが指定するオプションに依ります。多くの場合、PSCONFIG.EXE を実施する場合に、以下のオプションを指定して実施することがあります。

PSCONFIG -cmd upgrade -inplace b2b -wait

しかしながら、このコマンドは、PSCONFIGUI.EXE で実行される操作のサブセットを実行するのみです。例えば、このオプションでは、Web Application の _app_bin にあるファイルは更新されません。PSCONFIG.EXE で実行できるオプションには、以下のようなものがあります。オレンジでマークされた操作は、更新プログラムを適用した後に、PSCONFIGUI.EXE を実施した場合に自動的に実施される操作です。

Usage:
psconfig.exe -cmd [Parameters]
psconfig.exe -help [Command]
psconfig.exe -?
Commands:
setup
standaloneconfig
configdb
helpcollections
secureresources
services
installfeatures
adminvs
upgrade
evalprovision
applicationcontent
quiet

過去に PSCONFIG.EXE ではなく、PSCONFIGUI.EXE を利用していれば避けることのできた問題も報告されており、以下のようなエラーが記録されていました。

- MethodNotFoundException が Microsoft.Office.Server.UserProfiles.ServerStub.dll で発生する
- Microsoft.Office.Server.Search.ServerProxy.dll のバージョンの不一致が原因で検索機能が動作しない

PSCONFIG.EXE を利用する場合には、以下のオプションを利用するべきです。
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources

更新プログラムのインストールと構成ウィザードの実施との間の期間を置く要件があるような場合、最低限以下の PowerShell コマンドを実施して、アプリケーションコンテンツが更新されるようにしてください。
補足 : これは、PSCONFIG.EXE -cmd applicationcontent を指定した場合と同じで、_app_bin や、App_GlobalResources を含むアプリケーションのファイルを再配置 (コピー) する操作を実施します。

Install-SPApplicationContent

参考情報 :
Install-SPApplicationContent Psconfig コマンドライン リファレンス (SharePoint Server 2010)