Windows10 Proでスタート画面とタスクバーをカスタマイズする方法（GPO使用）

Windows 10では、sysprepするときにCopyProfileを設定してもスタート画面やタスクバーのカスタマイズがコピーされなくなりました。

Import-StartLayout というPowerShellのコマンドでインポートできるという情報もあったけど、~~一部のタイルが反映されなかったり~~（←間違いだったので別で記事投稿しました。[カスタマイズしたスタート画面から消えたタイルを復活させる方法](https://qiita.com/a_o_i_k_o/items/f07bb276bffa494e77fa)）プロファイル作成後には変更できないというデメリットがあったので、他の方法を探していたところ以下の記事を見つけました。

Windows 10 で Copyprofile を使用せずにスタートメニュー(とタスクバー) のデフォルト レイアウトをカスタマイズする
https://blogs.msdn.microsoft.com/mdtjp/2018/06/22/windows-10-%E3%81%A7-copyprofile-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%9B%E3%81%9A%E3%81%AB%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%81%A8%E3%82%BF%E3%82%B9%E3%82%AF/

この方法だと、サインイン時にカスタマイズを反映することができるのでプロファイル作成済みのユーザーにも適用できます。ADでドメインユーザーに適用することもできると思います。クライアントの検証環境でも簡単に再現できました。

# 検証環境
Windows 10 Pro Fall Creators Update (バージョン1709) 
Windows 10 LTSB 2016

# カスタマイズした結果
<img width="469" alt="st01.png" src="https://qiita-image-store.s3.amazonaws.com/0/143735/dab15a95-d3df-47d5-5670-c542834ad271.png">
Edgeを消してIEとofficeを追加しました。タスクバーにはエクスプローラー、IE、chromeを追加します。**タイルのカスタマイズした部分（グループのタイトルに鍵マークがついているところ）のアイコンは削除できませんが、ユーザーはアイコンを自由に追加できます。タスクバーにもアイコンは追加できますが、xmlファイルで設定したアイコンは消しても再サインインで復活します。**

# カスタマイズしたレイアウトをエクスポートする
スタート画面とタスクバーをカスタマイズします。
レイアウトが完成したら、PowerShell の Export-StartLayoutコマンドを使って、.xmlファイルにスタート画面のレイアウトをエクスポート

```powershell:スタート画面をエクスポート
 Export-StartLayout -Path C:\temp\StartLayout.xml
 ```

エクスポートしたxmlファイルの中身（ここからカスタマイズしていきます）

```xml:StartLayout.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">
  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6">
        <start:Group Name="ブラウザ">
          <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
        </start:Group>
        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint 2016.lnk" />
        </start:Group>
      </defaultlayout:StartLayout>
    </StartLayoutCollection>
  </DefaultLayoutOverride>
</LayoutModificationTemplate>
```
#xmlファイルに追記する
先頭にXMLの宣言を追加  

```xml:
<?xml version="1.0" encoding="utf-8"?>
```
タスクバーも一緒にカスタマイズするので、LayoutModificationTemplate タグ内の最後にtaskbarに関する一文を追加

```xml:
<LayoutModificationTemplate　

xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout">
```
横幅に広いとじゃまなので1列に（デフォルトは2列）

```xml:
<LayoutOptions StartTileGroupCellWidth="6" StartTileGroupsColumnCount="1" />
```
スタートタイル部分は修正は必要なし。
タスクバーのカスタマイズを追加するために DefaultLayoutOverrideの終了タグの後に記述します。

```xml:タスクバーのカスタマイズ部分
  <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\Accessories\Internet Explorer.lnk"/>
        <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk"/>
      </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
  </CustomTaskbarLayoutCollection>
```

※ タスクバーに設定したいアプリの DesktopApplicationLinkPath を手っ取り早く調べる方法は、レイアウトをエクスポートするときにスタートタイルに入れることです。（後でstart タグから削除すればOK）

最後に LayoutModificationTemplate の終了タグで閉めて、
編集したファイルを別名で保存しておきます（ここではC:\temp\StartLayout_custom.xml とする）

# カスタマイズしたxmlファイル（完成版）
```xml:StartLayout_custom.xml
<?xml version="1.0" encoding="utf-8"?>
<LayoutModificationTemplate
  xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
  xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
  xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
  xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
  Version="1">
  <LayoutOptions StartTileGroupCellWidth="6" StartTileGroupsColumnCount="1" />
  <DefaultLayoutOverride LayoutCustomizationRestrictionType="OnlySpecifiedGroups">
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6">
        <start:Group Name="ブラウザ">
          <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
        </start:Group>
        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint 2016.lnk" />
        </start:Group>
      </defaultlayout:StartLayout>
    </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\Accessories\Internet Explorer.lnk"/>
        <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk"/>
      </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
  </CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>
```
#GPOに適用する
検索マークから gpedit.msc と入力しEnter
<img width="288" alt="gp01.png" src="https://qiita-image-store.s3.amazonaws.com/0/143735/00746388-1d16-0b78-4ec5-598ab2fe2401.png">

ローカルグループポリシーエディターで
コンピューターの構成＞管理用テンプレート＞タスクバーと[スタート]メニュー＞スタート画面のレイアウト をダブルクリック
<img width="667" alt="gp02.png" src="https://qiita-image-store.s3.amazonaws.com/0/143735/d4448bcd-9fcd-35d2-3d4a-5c55e77d43e5.png">

スタート画面のレイアウトで[有効]にチェックを入れて、レイアウトファイルにファイルパスを指定する。適用しOK。
<img width="514" alt="gp03.png" src="https://qiita-image-store.s3.amazonaws.com/0/143735/6b8e6aef-679d-2915-db51-e1026ae45bfd.png">

#参考リンク
Windows 10 のスタート画面とタスク バーのレイアウトを管理する 
https://docs.microsoft.com/ja-jp/windows/configuration/windows-10-start-layout-options-and-policies