Windows Appx パッケージ管理コマンドの操作ガイド

Windows環境におけるアプリケーションパッケージ(Appx/MSIX)の管理には、PowerShellのAppxモジュールが利用されます。本稿では、日常的な管理業務で頻繁に使用するパッケージの検索、削除、およびリセット機能に焦点を当てて解説します。

1. 主要なAppx管理コマンド

以下のコマンドレットは、システムにインストールされたアプリケーションのライフサイクルを管理するために設計されています。

  • Get-AppxPackage: インストール済みのパッケージ情報を取得します。
  • Remove-AppxPackage: 指定したパッケージをアンインストールします。
  • Reset-AppxPackage: アプリケーションの状態を初期設定に復元します。

これらのコマンドは、-Verbose-ErrorActionといった共通パラメータをサポートしています。

2. Get-AppxPackage: パッケージの探索

システムの構成を把握するためには、このコマンドで絞り込みを行います。特定のユーザーや、全ユーザーを対象とした検索が可能です。

# 全ユーザーのインストール済みアプリ一覧を取得
Get-AppxPackage -AllUsers

# 特定の名称を持つアプリを検索
Get-AppxPackage -Name "*Contoso*"

3. Remove-AppxPackage: パッケージの削除

不要なアプリケーションを削除する際は、対象のPackageFullNameを指定します。削除時には、アプリケーションデータの保持・破棄を選択できます。

# 特定のパッケージを削除
Remove-AppxPackage -Package "Microsoft.ExampleApp_1.0.0.0_x64__8wekyb3d8bbwe"

※ 全ユーザー対象で削除を行う場合は、管理者権限が必要です。

4. Reset-AppxPackage: 状態のリセット

アプリが正しく動作しない場合、このコマンドでクリーンな状態に戻すことができます。

Reset-AppxPackage -Package "Microsoft.ExampleApp_1.0.0.0_x64__8wekyb3d8bbwe"

5. パッケージ情報と絞り込みのコツ

Get-AppxPackageの出力には多くのフィールドが含まれますが、直接パラメータとして使用できるのは主にNamePublisherです。それ以外の情報を条件にする場合は、パイプラインを通じてFindstrなどを活用します。

検索例

依存関係(Dependencies)が設定されているパッケージを確認する場合:

Get-AppxPackage | findstr Dependencies

また、Findstrコマンドを活用すると、より高度なテキスト検索が可能です。例えば、特定の文字列を含まない行のみを抽出する場合には/Vオプションが有効です。

# 特定の文字列を除外して検索
Get-AppxPackage | findstr /V "Microsoft"

補足: 重要なフィールドの理解

  • PackageFullName: バージョンやアーキテクチャを含む一意の識別子。削除コマンドで必須となります。
  • NonRemovable: システム必須アプリ(例: Microsoft.SecHealthUI)はTrueとなっており、通常の削除コマンドでは対象外となります。
  • SignatureKind: 「System」「Store」「Developer」の3種類があり、アプリの出所を示します。

タグ: PowerShell Windows Appx MSIX SystemAdministration

7月16日 16:44 投稿