はじめに
Windows 10では、Powershellを使って、スタートメニューのレイアウトをエクスポート/インポートすることが出来ます。 しかしMicrosoftの公式ドキュメントによると、Import-StartLayout
を使って任意のレイアウトをデフォルトに設定しても、それ以降に新しく作られるユーザーアカウントに適用されるのみで、現在すでに仕様されているアカウントのスタートメニューレイアウトは変更されません。
これをどうにか適用させて、変更させてしまいたい。
Windows 10 October 2018 Update (version 1809)で確認しました。
やる
3ステップです。.ps1
ファイルにすると楽です(Set-ExecutionPolicy
を忘れずに)。
Import-StartLayout -LayoutPath 'C:\Temp\Layout.xml' -MountPath 'C:\'
Remove-Item 'HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*$start.tilegrid$windows.data.curatedtilecollection.tilecollection' -Force -Recurse
Get-Process Explorer | Stop-Process
なにをしているか
RegistryChangesViewなどのツールを使って調べてみると、スタートメニューに変更を加えると(タイルの移動、グループ名の変更など)、HKEY_CURRENT_USER
以下のあるレジストリキーが変更されていることが分かります。キーにはPCごとに固有と思われるIDが含まれているので、上記のように*(ワイルドカード)
でPowerShellに見つけてもらっています。
そして一度このキーを削除した後に、WindowsのExplorer
プロセスを再起動すると、インポートしたレイアウトが、現在ログインしているアカウントのスタートメニューに適用されます。
わからないこと、やりたいこと
- 上記レジストリのData値(
REG_BINARY
)の中身の意味。- 海外のフォーラムも調べてみたんですが、Decode出来た人はまだいないみたいです。
- やってることがバッドノウハウの域なので、系統立てて調べたい。
- 現状のスタートメニューのタイルのグループ名をスマートに調べる方法。
- たぶん上記がわからないと無理...。