知識マップ: winget + PowerShellでPCキッティングを自動化する ── 手順書を実行可能にする

記事「winget + PowerShellでPCキッティングを自動化する ── 手順書を実行可能にする」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

新入社員PCのキッティング手順書を実行可能なファイルに置き換える記事で、アプリ導入はwingetに任せ、winget export/importは既存標準機のパッケージ一覧だけを再現できる出発点にすぎないと位置づける。宣言的に構成したい場合はPowerShell DSCベースのWinGet Configurationが冪等な適用を実装するが、ネットワークドライブや共有プリンターなどログオンセッション単位の設定は対象外で、自前のPowerShellスクリプトで補う必要がある。そのスクリプトはマシン全体の設定を担う管理者フェーズと、利用者ごとの設定をログオンのたびに非昇格で適用するユーザーフェーズに分け、タスクスケジューラやHKLMのRunキーで後者を起動する。wingetはシステムコンテキストでの実行を前提としない部分があるため、Microsoft.WinGet.Clientモジュールや--scope machineが回避策として挙げられる。

winget + PowerShellでのPCキッティング自動化の知識マップwingetとWinGet Configurationがアプリ導入とその冪等な宣言的構成を担う一方、ネットワークドライブや共有プリンターなどユーザー単位の設定はカバーせず自前PowerShellの管理者フェーズとユーザーフェーズで補う構造、システムコンテキスト実行の制約とその回避策の関係を示す図実装を担う実装を担う利用する実装を担う実装を担う軽減する前提とする前提とする前提とする自動化する自動化する自動化する両立しない実装を担う軽減する軽減するで確認できる利用するより先に行うべき利用するwingetWinGet Configuration冪等性winget export/importPowerShell DSC自前PowerShellキッティングスクリプトwingetがカバーしない領域管理者フェーズ(昇格)管理者権限ネットワークドライブの割り当てユーザーフェーズ(非昇格)共有プリンターへの接続タスクスケジューラの無人実行HKLMのRunキーグループポリシーシステムコンテキストでの実行Microsoft.WinGet.Clientモジュール--scope machineオプションWindows Installerの終了コード(3010/1641)

概念間の関係(全20件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

winget
Windowsクライアントでの推奨インストール方法として案内される、Microsoft製のパッケージマネージャー。
WinGet Configuration
最終的にあるべき状態をYAMLファイルで宣言し、PowerShell DSCを通じて適用するwingetの仕組み。アプリの導入とWindows・アプリの設定を1ファイルで表現できる。
冪等性
同じ処理を何度実行しても結果が変わらない性質。キッティングスクリプトでは、現在の状態を確認してから変更することで実現する。
自前PowerShellキッティングスクリプト
wingetがカバーしないフォルダー作成・レジストリ設定・Windowsの機能・社内アプリ・ネットワークドライブ・共有プリンターなどを、状態確認してから変更する形で適用する自作のPowerShellスクリプト群。
管理者フェーズ(昇格)
フォルダー作成、HKLMレジストリ設定、Windowsの機能の有効化、wingetパッケージ、社内アプリの導入など、マシン全体に効く設定を端末につき1回、管理者権限で適用する実行フェーズ。
ネットワークドライブの割り当て
共有フォルダーをドライブレターに割り当てる、ログオンセッション単位の設定。昇格したセッションやSYSTEMで作成すると、利用者の通常のセッションからは見えない。
共有プリンターへの接続
利用者ごとに作られる、共有プリンターへの接続設定。管理者やSYSTEMで実行すると、そのアカウントにだけ接続が作られ利用者からは見えない。
タスクスケジューラの無人実行
指定したアカウントで、スケジュールやログオンなどのトリガーに従いプログラムを実行するWindowsの仕組み。ログオン種別(対話トークン・パスワード保存・S4Uなど)の設定によっては、ユーザーがログオンしていなくても実行できる。
HKLMのRunキー
ログオンした利用者の権限(非昇格)でコマンドを自動実行させる、HKEY_LOCAL_MACHINE配下のレジストリキー。
グループポリシー
Active Directoryドメイン環境でWindowsの設定を集中構成する仕組み。
システムコンテキストでの実行
ログオン中の利用者とは別のSYSTEMアカウントなどでプログラムを実行すること。wingetはユーザーコンテキストでの実行を前提とした部分があり、システムコンテキストでの実行はMicrosoftが今後の開発項目として挙げている段階にある。
Microsoft.WinGet.Clientモジュール
Find-WinGetPackage・Install-WinGetPackage・Get-WinGetPackage・Update-WinGetPackageなど、wingetの機能をPowerShellのコマンドレットとして提供するモジュール。結果をオブジェクトとして扱える。
--scope machineオプション
対応するパッケージに限り、全ユーザー向けにアプリを導入するwinget installのスコープ指定。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。