Windows 10 のタスクバー設定について

目次

Windows 10 で初回ログオン時から特定のアイコンをタスクバーに設定されるようにカスタマイズします。
タスクバーの設定は、xmlファイルで設定します。

現在の設定をエクスポートする

まず最初に、現在のスタートメニューの設定をエクスポートします。
PowerShell を起動し、以下のコマンドを実行します。

Export-StartLayout -Path StartMenu.xml

xmlファイル名は任意です。カレントディレクトリに出力されます。

タスクバーのピン留め設定を追記する

出力された xml ファイルをエディタで開きます。
LayoutModificationTemplate タグの中に、タスクバーの設定のための定義を追記します。

xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"

LayoutModificationTemplate タグの中に、タスクバーの設定のための定義を追記します。こんな感じ。

<CustomTaskbarLayoutCollection PinListPlacement="Replace">
<defaultlayout:TaskbarLayout>
<taskbar:TaskbarPinList>
<taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk"/>
<taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\Control Panel.lnk"/>
</taskbar:TaskbarPinList>
</defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>

Replaceを指定することで、既存のピン留めがすべてなくなり、指定したものだけになります。

<CustomTaskbarLayoutCollection PinListPlacement="Replace">

Replaceを指定しなければ、既存のピン留めに加えて、指定したものが追加されます。

<CustomTaskbarLayoutCollection>

CustomTaskbarLayoutCollectionブロックの中に、コメントなど余計なことを書くと、ひたすらリロードを繰り返したり、設定内容が反映されなくなるので注意。

また、上記の xml ファイルは UTF-8形式で保存されている必要があります。
SJISなどではインポート時に「・・・有効なレイアウト ファイルではありません」エラーになってしまいます。

参考まで、作成したxmlはこんな感じになっています。

<LayoutModificationTemplate
    xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
    xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
    Version="1"
    xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
    xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout" >
<LayoutOptions StartTileGroupCellWidth="6" />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth="6" />
</StartLayoutCollection>
</DefaultLayoutOverride>
<!-- タスクバーのピン留め設定  -->
<CustomTaskbarLayoutCollection PinListPlacement="Replace">
<defaultlayout:TaskbarLayout>
<taskbar:TaskbarPinList>
<taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk"/>
<taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\Control Panel.lnk"/>
</taskbar:TaskbarPinList>
</defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>

設定をインポートする

作成した xmlファイルをインポートします。
PowerShell を起動し、以下のコマンドを実行します。

Import-StartLayout -LayoutPath StartMenu.xml -MountPath C:\

xmlファイル名は、上記で作成したファイルを指定します。

インポートが成功すると、以下にファイルが登録されます。(ファイル名固定の様です)

C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml

今回は、この後、端末をSysprep(CopyProfile=true)する予定なので、このファイルをSysprepを実行するユーザの中にもコピーしておきます。

%LOCALAPPDATA%\Microsoft\Windows\Shell\

これで、Sysprep後、初回ログオンしたユーザで、上記の設定が適用されます。

カスタマイズ前
f:id:HopStepLab:20191005193509p:plain

カスタマイズ後の初回ログオン
f:id:HopStepLab:20191005193512p:plain

「Edge」のアイコンが消え、「エクスプローラ」と「コントロールパネル」のアイコンになっているのが分かります。

補足1

この設定を行うと、イベントログ(Application)に以下のエラーが出るようになりました。
初回ログオン時(デフォルトプロファイルを参照するときだけ)発生するようです。

レベル:エラー
ソース:ESENT
イベントID:522
StartMenuExperienceHost (2368,P,98) TILEREPOSITORYS-1-5-21-3694913686-3334806774-1836569483-1029: システム エラー 5 (0x00000005): “アクセスが拒否されました。 ” のため、”C:\” を含む名前が “\.\C:” のデバイスを開けません。操作はエラー -1032 (0xfffffbf8) のため失敗します。

レベル:エラー
ソース:ESENT
イベントID:455
StartMenuExperienceHost (2368,R,98) TILEREPOSITORYS-1-5-21-3694913686-3334806774-1836569483-1029: ログ ファイル C:\Users\User1\AppData\Local\TileDataLayer\Database\EDB.log を開いているときに、エラー -1023 (0xfffffc01) が発生しました。

補足2

設定したタスクバーのアイコンのピン留めは外す設定はできますが、再度ログオンすると、ピン留めは復活しました。

参考

以下の記事を参考にさせていただきました。ありがとうございます。

記事内の環境について

  • Windows 10 Pro 64bit バージョン 1903

コメント