
キッティングを一部自動化してみた話
この記事は「orp-engr 情シスSlack(コーポレートエンジニア x 情シス)#1」の3日目担当となります。
新米情シスのなっちです。
情シスとしてのキャリアは 多分きっとおそらくMaybe3年目
今回はキッティングのお話になります。緊張しながら執筆しています。
至らない点はあると思いますが、暖かい目で見ていただけると幸いです。
こんな人におすすめ
キッティングの自動化を考えている人
Windows端末を主に利用されている方
AzureADやIntuneを導入していない方
経緯
最初に一言…
「新しいPCに触れるのは超絶ッッッ大好きです」
すっきりしたので本題に参ります。
配属後すぐキッティングを引き継ぎいただき、以降キッティング担当大臣になりました。
キッティングをされた方なら心当たりがあると思いますが、処理待ち等で空いている時間って多いですよね。Windows updateしかり….
手持ち時間が多いと別の作業に走りがちです。
となると以下の問題が出てきました。
アプリのインストール・設定忘れが発生
同時に複数台作業をするとどこまでやったのかがわからない
チェックシートを作るが、そもそも記入を忘れる
処理待ちが終わると別の作業をやめて、キッティング作業を再開しなければならない
ということで自動化を検討しました。
環境・前提
Windows11
ADあり (AADへのコネクトなし)
Intuneなし
ADはあり、けどいろいろありノータッチ
①プロセスの洗い出し・再構築
完全手作業時代のキッティング工程
ローカルアカウント作成
Wifiに接続
いろいろあってNW接続処理
Windows update適用(再起動複数回)
PC名変更 AD参加
業務アプリケーションインストール(十種類)
必要アプリピン止め
PINの有効化(グループポリシー)
タスクバーの配置変更(Win11)
拡張子の表示
ウィジェットの非表示(Win11)
各拠点のプリンタドライバインストール
段階1:自社環境で自動化できる分類わけ
自社環境でできたもの
ローカルアカウントの作成
Wifi接続
業務アプリのインストール
PINの有効化
拡張子の表示
タスクバーの配置変更(Win11)
ウィジェットの非表示(Win11)
プリンタドライバのインストール
自社の環境で試したができなかったもの
PC名の変更・AD参加
プリンタドライバのインストール
必要アプリのピン止め
そもそもできなさそうだったもの
Windows update適用の自動化
ここでの自動化の想定は再起動も含みます。
②手順の再構築
新キッティング工程
自:ローカルアカウント WIFI接続
手:NW接続処理
手:Windows UPdate適用 PC名変更 AD参加
自:PIN有効化、拡張子の表示
自:スタートメニューの位置変更、ウィジェット非表示(Windows11)
自:各種アプリインストール
手:ピン止め、チェック
※自=自動化 手=手作業
③実装
今回使う材料
Windows構成デザイナー
Batファイル
各種アプリのMSIパッケージ
①ローカルアカウント作成からWifi接続まで自動化
※Windows構成デザイナーを使用するとローカルアカウントのパスワード有効期限が設定されます。無期限にしたい方は別途設定してください。
プロビジョニングパッケージ作成するために「Windows構成デザイナー」を使用します。
Storeからダウンロードできますが、Windows ADKからインストールすると日本語になっていたのでわかりやすいかも
①デスクトップ デバイスのプロビジョニングを選択

②PC名を入力する

③SSIDと 種類を選択(OPEN or Personal)

④アカウント情報を入力 ADやAADもいつかちゃんと試したい!

⑤アプリと証明書はスキップ

⑥作成ボタンを押して、作成したものを、USBに移動

⑦わかりやすいようにUSBにろーかるあどみん!と書いて完成
② バッチファイルで各種設定をする
※レジストリを操作します。自己責任でお願いします。
ここでは手順4.5.6を自動化します。
Cドライブにインストーラーをフォルダごと移動
管理者権限でバッチファイルを起動
レジストリ書き換えを実行(新キッティング工程 4,5の部分)
アプリをインストール(新キッティング工程 6の部分)
という工程で実装していきます。
フォルダ構成は以下の図になります。
USBからデスクトップに展開し、Start.batをクリックすると起動

①Cドライブにインストーラーをフォルダまるごと移動し管理者権限で起動
mkdir C:\insttmp
move .\installer C:\insttmp
move .\bat C:\insttmp
powershell start-process C:\insttmp\bat\set.bat -verb runas
②set.bat ユーザーの有効期限を無期限に設定(やってもやらなくてもOK)
rem ローカル管理者パスワード無期限
wmic useraccount where "Name='あどみん'" set PasswordExpires=False
rem batファイルまで移動
cd C:\insttmp\bat
rem registry.batを起動
registry.bat
③registry.bat レジストリの書き換え
あくまで一例になります。
各々やりたいことが違うと思いますが、「{やりたいこと} レジストリ」と検索するとヒットしたりします。
rem PIN有効化
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\System /v AllowDomainPINLogon /t REG_DWORD /d 1 /f
rem 拡張子表示
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d "0" /f
rem スタートボタンの位置変更
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarAl" /t REG_DWORD /d "0" /f
rem ウィジェット非表示
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "TaskbarDa" /t REG_DWORD /d "0" /f
rem batファイルまで移動
cd C:\insttmp\bat
rem アプリインストールbatを起動
app_install.bat
③app_install.bat アプリのインストールをします。
基本サイレントインストールで構成しています。
様々なアプリをインストールしますがよく使いそうな、ChromeとZoomを参考として記述します。
今回すべてMSIで記述していますが、Exeファイルでも対応しているものは引数を渡すことでサイレント可能です。
(ZoomはSSOでのみログイン可能にしたかったので、少し引数を渡しています)
今回参考にしたサイト
Zoom事前設定での大規模展開(Zoomサポート)
Zoom MSIパッケージ
Chrome MSIパッケージ Chrome EnterPrise
Chrome お気に入りバー表示 paso-kake.com
rem Zoom64bit install
msiexec /i ZoomInstallerFull.msi /quiet /qn /norestart zSSOHost="SSOURL" zSilentStart="true" /lex msi.log ZConfig="ForceSSOUrl=SSOURL;NoFacebook=1;NoGoogle=1;EnableAppleLogin=0;DisableLoginWithEmail=1"
rem Chrome install
msiexec /i GoogleChromeStandaloneEnterprise64.msi /quiet /qn /norestart
余談 Zoomですが、SSOの見にすると画面がこのようになります
大変すっきりして、ユーザーが混乱することがなくなります。
SSOでサインインをするとあらかじめSSOのURLが入っているため、ユーザーが入力する手間もなくなります。

以上で設定用のBatファイル等は完成です。
USBに入れて、「せっとあっぷ」とわかりやすく書いておきましょう
④実際に使ってみた感想
「設定が速い!」と鱗滝さんが脳内再生されるほど時間短縮
実作業時間が1時間ほどが現在は20分以下に短縮
Windowsアップデートも入れるとどれだけ遅くても3時間で完成
USBのデータをコピーするだけなので複数台同時にすることも可能
コンセントの関係上一回に6台までは試しました
なんといってもストレスフリー
精神衛生がすごく良きです
新しい方もすぐキッティングをしてもらえる
複雑な作業手順をしていないため、簡易マニュアルを渡し1回一緒にやればすぐできると思います。
⑤課題
Windows構成デザイナー上だとAD参加まで可能であるが自社環境ではできない点
Windowsアップデートの自動適用・自動再起動
PIN留め系の自動化
引き続き調査していきます。
まとめ
Windows構成デザイナーはかなり優秀 使いこなせればゼロタッチもできそう
Zoom等、インストーラーをカスタムできるものがある。活用すると幸せになれるかも
感想
ゼロタッチまではいかないものの、キッティングの手間が大幅に減少しました。
ローカル管理者を作る工程を短縮したいとずっと考えていたので、情シスSlackの方に別件でWindows構成デザイナーを教えていただいた時には感動いたしました….ありがとうございます。
私の技量的な問題で実装できてない部分も多いため、もっと自動化できそうです。引き続き精進してまいります。
(AzureAD導入してAutopilot使ってみたいな….)