Windows Kitting Workflowは、Windows 11 PCを完全自動でセットアップするためのワークフローシステムです。PowerShellとJSON設定ファイルを使用して、アプリケーションのインストール、レジストリ設定、システム最適化を自動実行します。
- 完全自動化: ユーザー介入なしでPCセットアップを実行
- JSON設定: 実行順序と設定をJSONファイルで簡単管理
- winget統合: Microsoft公式パッケージマネージャーによる安全なアプリ管理
- レジストリ最適化: セキュリティ・パフォーマンス向上のための設定自動適用
- エラー通知: Slack/Teams連携によるリアルタイム通知
- 自動継続: 再起動後も自動的にセットアップを継続
- 安全なバックアップ: レジストリ変更前の自動バックアップ
実際の動作を確認するには、以下のデモ動画をご覧ください:
windows-kitting-workflow/
├── README.md # このファイル
├── LICENSE
├── plan.md
├── main.bat # メインエントリーポイント
├── unblock-files.bat # セキュリティブロック一括解除
├── workflow-editor.bat # WorkflowEditor 起動バッチ
├── MainWorkflow.ps1 # メインワークフローエンジン
├── WorkflowEditor.ps1 # ワークフロー設定GUIエディター
├── AutoLogin.ps1 # 自動ログイン設定管理
├── TaskScheduler.ps1 # タスクスケジューラ管理
├── config/ # 設定ファイル
│ ├── workflow.json # ワークフロー設定
│ ├── applications.json # アプリケーション設定
│ ├── notifications.json # 通知設定
│ ├── local_user.json # ローカルユーザー設定
│ ├── machine_list.csv # マシンリスト(オプション)
│ ├── start_pins.ppkg # スタートメニュー固定構成
│ ├── TaskbarLayoutModification.xml # タスクバー配置
│ ├── wi-fi.xml # Wi‑Fi設定XML
│ ├── desktop/ # デスクトップファイル
│ │ ├── public/ # パブリック用
│ │ └── user/ # ユーザー用
│ ├── registry/ # レジストリ設定ファイル
│ │ ├── 01_explorer_settings.*
│ │ ├── 02_performance_settings.*
│ │ ├── ...
│ └── office/ # Office 導入ファイル
│ ├── setup.exe
│ ├── configuration-Office2021.xml
│ ├── configuration-Office365-x64.xml
│ └── Office/
│ └── Data/
│ └── ...
├── scripts/ # スクリプトファイル
│ ├── Unblock-AllFiles.ps1 # セキュリティブロック一括解除
│ ├── Common-LogFunctions.ps1 # 共通ログ関数
│ ├── Common-NotificationFunctions.ps1 # 共通通知関数
│ ├── Common-WorkflowHelpers.ps1 # 共通ワークフロー補助
│ ├── setup/ # セットアップスクリプト
│ │ ├── initialize.ps1
│ │ ├── install-winget.ps1
│ │ ├── install-basic-apps.ps1
│ │ ├── uninstall-apps.ps1
│ │ ├── install-office.ps1
│ │ ├── install-ppkg.ps1
│ │ ├── apply-taskbar-layout.ps1
│ │ ├── import-registry.ps1
│ │ ├── disable-startup-apps.ps1
│ │ ├── deploy-desktop-files.ps1
│ │ ├── setup-wifi.ps1
│ │ ├── setup-wifi.bat
│ │ ├── create-user.ps1
│ │ ├── remove-user.ps1
│ │ ├── rename-computer.ps1
│ │ ├── setup-bitlocker.ps1
│ │ └── windows-update.ps1
│ └── cleanup/ # クリーンアップスクリプト
│ └── cleanup.ps1
├── docs/ # ドキュメント
│ ├── README.md
│ ├── TABLE_OF_CONTENTS.md
│ ├── VALIDATION_NOTES.md
│ ├── Testing-Guide.md
│ ├── Troubleshooting.md
│ ├── Registry-Configuration.md
│ ├── Application-Management.md
│ ├── Customization-Guide.md
│ ├── Windows-Update-Guide.md
│ ├── Wi-Fi-Configuration-Guide.md
│ ├── File-Security-Unblock-Guide.md
│ ├── Slack-Thread-Guide.md
│ ├── Teams-Notification-V2-Guide.md
│ ├── WorkflowRoot-Improvement-Guide.md
│ ├── AutoLogin-README.md
│ ├── Office-Installation-Guide.md
│ ├── install_office_script.md
│ ├── ppkg_installation_guide.md
│ ├── taskbar_layout_guide.md
│ ├── copy_path_with_network_guide.md
│ ├── disable_startup_apps_guide.md
│ ├── create-user-guide.md
│ └── remove_user_guide.md
├── tests/ # テスト・診断ツール
│ ├── README.md
│ ├── Run-AllTests.ps1
│ ├── Test-JsonConfiguration.ps1
│ ├── Test-ProjectStructure.ps1
│ ├── Test-TeamsNotificationV2.ps1
│ ├── run-tests.bat
│ └── run-tests-advanced.bat
└── 自動生成フォルダ(実行時作成)
├── backup/ # バックアップファイル
├── status/ # ステータス管理
└── logs/ # ログファイル
- Windows 11 または Windows 10 1809以降
- PowerShell 5.1以上
- インターネット接続
インターネットからダウンロードしたファイルには、Windowsによってセキュリティブロックが設定されます。このワークフローを実行する前に、以下のコマンドでセキュリティブロックを解除してください:
# 最も簡単な方法(バッチファイル実行)
.\unblock-files.bat
# または PowerShell で直接実行
.\scripts\Unblock-AllFiles.ps1 -Recurse詳細な手順はファイルセキュリティブロック解除ガイドを参照してください。
-
フォルダをCドライブに配置
C:\windows-kitting-workflow\ -
main.batを右クリックして「管理者として実行」を選択
以上。
セットアップが開始されると、自動ログインとタスクスケジューラが設定され、PC再起動後も自動的に処理が継続されます。
- 開発ツール: PowerShell 7, Git, Visual Studio Code
- ユーティリティ: 7-Zip, PowerToys
- 生産性: Google 日本語入力, Adobe Acrobat Reader
- ブラウザ: Google Chrome, Mozilla Firefox
- メディア: VLC Media Player
- コミュニケーション: Microsoft Teams, Zoom
- エクスプローラー設定: ファイル拡張子表示でセキュリティ向上
- パフォーマンス設定: 応答性向上、視覚効果最適化
- プライバシー設定: 不要な情報収集・広告配信の抑制
- BitLocker暗号化: TPMベースのシステムドライブ暗号化
- タスクバー調整: 不要なボタンの非表示
詳細はレジストリ設定ガイドを参照してください。
WorkflowEditor.ps1を使用して、視覚的にワークフロー設定を編集できます。
# WorkflowEditorを起動(推奨)
workflow-editor.bat
# カスタム設定ファイルを指定
workflow-editor.bat "path\to\workflow.json"または、直接PowerShellを使用:
# WorkflowEditorを起動
.\WorkflowEditor.ps1
# カスタム設定ファイルを指定
.\WorkflowEditor.ps1 -ConfigPath "path\to\workflow.json"WorkflowEditorでは以下の操作が可能です:
- ワークフローの基本設定(名前、バージョン、説明など)
- ステップの詳細設定(スクリプト、タイプ、実行オプション)
- ステップの実行順序変更(上下移動)
- ステップのJSONを直接編集
- 設定の保存・名前を付けて保存
詳細はWorkflowEditorガイドを参照してください。
config/applications.jsonを編集してインストールアプリをカスタマイズできます。
詳細はアプリケーション管理ガイドを参照してください。
config/workflow.jsonを編集して実行順序や処理内容をカスタマイズできます。
Windows Updateステップでは以下のカスタマイズが可能です:
- 特定のKB番号のアップデートのみインストール
- 特定のアップデートを除外してインストール
- Microsoft Updateサービスの含有/除外
- 自動再起動の有効/無効
詳細はカスタマイズガイドを参照してください。
Slack/Teams Webhookを設定することで、進捗状況をリアルタイムで確認できます。
config/notifications.jsonで設定してください。
PCごとにSlackスレッドを分けて通知することが可能です。複数PCの同時セットアップでも各PCの進捗を個別に追跡できます。 詳細はSlackスレッドガイドを参照してください。
PowerShell実行ポリシーエラーや「ファイルがブロックされています」エラーが発生した場合:
# セキュリティブロック解除
.\unblock-files.bat
# または実行ポリシーを一時的に変更
powershell -ExecutionPolicy Bypass -File "main.bat"問題が発生した場合は以下の診断ツールを使用してください:
# 包括的な健全性チェック
.\tests\Run-AllTests.ps1 -Verbose
# JSON設定ファイルの検証・修正
.\tests\Test-JsonConfiguration.ps1 -Fix
# プロジェクト構造の詳細診断
.\tests\Test-ProjectStructure.ps1 -Verboseよくある問題と解決方法はトラブルシューティングガイドを参照してください。
- ドキュメントREADME: 全ドキュメントの概要とナビゲーション
- ファイルセキュリティブロック解除ガイド: ダウンロードファイルのブロック解除方法
- レジストリ設定ガイド: システム最適化設定の詳細
- アプリケーション管理ガイド: アプリインストールの管理方法
- BitLocker設定ガイド: BitLocker暗号化の自動設定
- カスタマイズガイド: ワークフローのカスタマイズ方法
- Windows Updateガイド: Windows Update設定の詳細
- Wi-Fi設定ガイド: Wi-Fi自動設定機能の詳細
- Slackスレッドガイド: Slackスレッド機能の使用方法
- トラブルシューティングガイド: 問題解決方法
- テスト・診断ガイド: テストツールの使用方法
- 自動ログインREADME: 自動ログイン機能の詳細
- 共通通知ライブラリ: 通知機能の共通化とアーキテクチャ
- Teams通知新スレッド化方式ガイド: 改良版フロー/真のスレッド化
- WorkflowRoot改善ガイド: 共通処理改善の実装詳細
このプロジェクトはMITライセンスの下で公開されています。
このツールは管理者権限で実行され、システムに重要な変更を加える可能性があります。本番環境で使用する前に、テスト環境で十分に検証してください。


