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