どうもミツシマです。

最近、Windows10のPCにてマスターイメージ作成・大量展開の検証をしており、その中で新規ユーザーでログインした際のタスクバーの初期値をカスタマイズ出来ないかを検証してみました。

検証環境は以下の通り
PC:Windows10 (1809 64bit)
ユーザー名:admin

以前投稿した「コマンド(VBS)でタスクバーにピン留め出来るか検証してみた」というのは、このデフォルトユーザープロファイルのカスタマイズの為に検証していたものです。
始めに今回はカスタマイズするにあたって「レイアウト変更用の XML ファイル」は使用しない方法となります。
なぜ「レイアウト変更用の XML ファイル」を使用しないかというと、XMLファイルをグループポリシーやイメージにインポートしてしまうと設定していたアイコンが強制されてしまい、ユーザー自身でカスタマイズしたい時に不便だと感じた為です。
※逆にユーザーに操作させたくないという場合は、インポートしてもいいとも思いますが。


では、自分が検証しカスタマイズ出来た手順を記載します。
手順の大まかな流れは以下の通りです。

1.マスターとなるユーザーでタスクバーの配列をカスタマイズし、レジストリを任意の場所にエクスポートする。
2.フォルダ「%APPDATA%¥Microsoft¥Internet Explorer¥Quick Launch¥User Pinned¥TaskBar」内にあるショートカットをすべて任意の場所にコピーする。
3.上記のエクスポートしたregファイルをインポート・保存したショートカットのコピー等を実施するbatファイルを作成し、任意の場所に保存する。
4.レジストリハイブを実施し、デフォルトユーザーのHKCUのレジストリ「RunOnce」キーを使用して、上記batファイルを実行するように設定する。


では、1つずつ解説を入れていきます。
まず、タスクバーの設定は以下のレジストリキーに保存されています。
「HKEY_CURRENT_USER¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥Taskband」
そして、デスクトップアプリケーションのショートカットがタスクバーにピン留めされていた場合、以下のフォルダにlnkファイルが配置されます。
「%APPDATA%¥Microsoft¥Internet Explorer¥Quick Launch¥User Pinned¥TaskBar」
※MicrosoftEdge等のUWPアプリの場合はありません。

そこで、上記2つの設定を予めエクスポート(保存)しておき、初回ユーザーサインイン時にそれらを適用させ、初期値をカスタマイズしています。
その為、このやり方は厳密には初期値がカスタマイズされているのではなく、ユーザーのログイン後にコマンドで任意のタスクバーの配置に変更しているというのが正しいです。
※本当はこんなやり方ではなく、もっとスマートな方法を見つけられたら良かったのですが、Windows10になってから中々難しくて。。。。(泣)

ちなみにデフォルトユーザープロファイルのレジストリに予め上記レジストリキーをセットし、フォルダにlnkファイルをセットしていたとしても、初回ログイン時にEdgeやメール等がタスクバーに初期配置されます。
その為、あくまで初回ログイン後(ユーザープロファイル作成後)のタイミングでレジストリのインポート等を実施してます。
また、レジストリ値のみ復元してもデスクトップアプリケーションの場合、上記フォルダにlnkファイルがないとタスクバーのアイコンが空白になってしまうようです。


では、更に詳細な手順を記載します。
①レジストリキー「HKEY_CURRENT_USER¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥Taskband」をエクスポートし、名前「TaskbarReg.reg」で「C:¥Users¥Default」フォルダに保存する。
②「%APPDATA%¥Microsoft¥Internet Explorer¥Quick Launch¥User Pinned¥TaskBar」フォルダを「「C:¥Users¥Default」フォルダ配下にフォルダごとコピーする。
③以下の内容のbatファイルを作成し、「C:¥Users¥Default」フォルダに保存する。

@echo off
REM レジストリインポート
reg import %USERPROFILE%¥TaskbarReg.reg > nul
REM アイコンコピー(上書き)
copy /Y "%USERPROFILE%¥TaskBar" "%APPDATA%¥Microsoft¥Internet Explorer¥Quick Launch¥User Pinned¥TaskBar" > nul
REM 各種不要ファイルとフォルダの削除
del /Q /F %USERPROFILE%¥TaskbarReg.reg > nul
rmdir /Q /S "%USERPROFILE%¥TaskBar" > nul
REM エクスプローラー強制終了
taskkill /F /IM explorer.exe > nul
REM エクスプローラー開始
start explorer.exe > nul
REM bat削除
del /F "%‾dp0%‾nx0" > nul
exit

※「> nul」とやっているのはコマンド実行時にecho表示を最小限にしたいためです。
 レジストリ設定とショートカットコピー後にエクスプローラを再起動することで、タスクバー設定が反映されます。
 また、実行後は各種フォルダやファイルを削除しています。

④レジストリハイブにて、デフォルトユーザープロファイルのレジストリキーRunOnceを設定する。
 ※GUIが面倒であれば以下のコマンドを3つを実施すればOK

reg load HKLM\DefaultUser "C:\Users\Default\NTUSER.DAT"
reg add HKLM¥DefaultUser¥Software¥Microsoft¥Windows¥CurrentVersion¥RunOnce /v TaskbarCMD /t REG_EXPAND_SZ /d ^%USERPROFILE^%¥TaskbarCMD.bat /f
reg unload HKLM\DefaultUser
レジストリ追加後の参考画面
レジストリ画像


以上で設定は完了。
後は新規ユーザーログイン時に任意のタスクバーにカスタマイズされていればOK!!!


この手順を確立するまでかなり苦労しました。。。。。
スポンサードリンク