ニュース

コマンドでPCの環境構築を自動化 ~「WinGet configuration」がプレビュー公開

「Dev Home」アプリからも利用可能

YAML形式の構成ファイルをもとに環境を構築。「Dev Home」アプリからも利用可能

 米Microsoftは5月25日(日本時間)、「WinGet configuration」のプレビューリリースを発表した。新しいWindowsデバイスをセットアップする際に、「Windows Package Manager」(winget)を利用することができる。

 「WinGet configuration」は「Windows PowerShell Desired State Configuration」(DSC)をベースに構築されており、以下のようなコマンドで環境を構築する。

winget configure configuration.dsc.yaml

 無人セットアップで環境構築にかかる時間を短縮できるほか、手作業でありがちなミスを防止するのにも役立つ。

 構成ファイル(*.dsc.yaml)には、「設定後にどのような状態になるのか」を宣言的に記述する。ダウンロードするソフト、パッケージ、ツール、フレームワークなどをYAML形式で指定すれば、「WinGet configuration」がその通りに環境を整えてくれる。ソフトのバージョンも指定可能で、「winget upgrade --all」で意図しないバージョンへ更新されてしまうのを防ぐため、以下の3種類の方法でバージョンを固定(Pinning)する機能も提供される。

  • ブロック(Blocking):ブロックを解除しない限り、「winget upgrade --all」などでパッケージを更新することはできない
  • ピン留め(Pinning):「winget upgrade --all」では更新できないが、「winget upgrade <パッケージ名>」で個別に指定した場合は更新できる。また、新引数「-include-pinned」を用いて、ピン留めされたパッケージを更新するように指定することも可能
  • ゲーティング(Gating):パッケージを特定のバージョンに固定する。たとえば「1.2.*」にゲーティングすれば、「1.3.0」以降への更新はブロックされる。「winget upgrade <パッケージ名> -force」で強制アップデートすることが可能。

 「WinGet configuration」は現在、プレビュー版の「Windows Package Manager」で利用可能。「winget settings」で設定ファイルを編集し、「WinGet configuration」実験機能を有効化する必要がある。

 ちなみに、本機能は開発者向けのダッシュボードアプリ「Dev Home」にも組み込まれている。構成ファイルのサンプルも「Dev Home」の「GitHub」リポジトリで確認できる。