Microsoftは2026年5月20日、PowerShell開発者に対してモジュールの取得元をMicrosoft Artifact Registry(MAR)へ移行するよう求めるブログ記事を公開した。長年にわたってコミュニティの中心地であったPowerShell Galleryのセキュリティリスクを直視し、Microsoft公式モジュールの配布を自社管理の信頼済みリポジトリに一本化する方針を明示したものだ。
Microsoft Artifact Registry(MAR)とは何か
MARは、Dockerイメージなどのコンテナアーティファクトに加え、PowerShellモジュールを含む各種ソフトウェアパッケージをMicrosoftが一元管理する公式レジストリだ。その最大の特徴は「Microsoft管理の公開パイプライン」という点にある。つまり、誰でも公開・更新できるPowerShell Galleryとは異なり、MARに登録されているMicrosoftモジュールは出所が明確で、改ざんや悪意ある模倣モジュールのリスクを排除できる。
Microsoftが示す主な優位性は以下の3点だ:
- 強固なプロビナンス(出所保証)と所有者保証:誰が何を公開したか追跡可能
- PowerShell Galleryと比べて高い可用性:SLA観点での安定供給
- コミュニティミラーへの依存排除:ファーストパーティモジュールをコミュニティ経由で取得する必要がなくなる
新しいモジュール管理ツール「PSResourceGet」
合わせてMicrosoftが推奨するのがPSResourceGet(旧PowerShellGet v3)の採用だ。このツールは「パッケージの探索(discovery)」と「インストール(consumption)」を明確に分離して設計されており、複数リポジトリを管理しながら本番環境ではMAR等の信頼済みソースからのみインストールする、という運用が可能になる。
MARをPSResourceGetに登録する基本コマンドは次のとおりだ:
出典: この記事は Microsoft Wants PowerShell Developers to Change How They Download Microsoft Modules の内容をもとに、筆者の見解を加えて独自に執筆したものです。