ニュース
コマンドでPCの環境構築を自動化 ~「WinGet configuration」がプレビュー公開
「Dev Home」アプリからも利用可能
2023年6月1日 15:41
米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」リポジトリで確認できる。