- Windows 10 Version 1803 {April 2018 Update, RedStone4(RS4)}
- Windows 10 Version 1809 {October 2018 Update, RedStone5(RS5)}
を対象にします。まずは、
- キー操作
Win + X
→I
- スタートボタンを右クリックor長押し画面タッチ →
Windows PowerShell(I)
を選択
のいずれかでユーザ権限での PowerShell
を起動、以下のようなコマンドを入力し実行します。
実行例
現在のタイルのエクスポート
まずは、現在のスタートメニューの内容をXMLファイルとしてエクスポートして、後で元に戻せるようにしておきます。
Export-StartLayout "${env:USERPROFILE}\Documents\MyStartTiles.xml"
タイルを空に
レジストリキーの値を書き換えることで、スタートメニューのタイルが何もない状態にします。
if([System.Environment]::OSVersion.Version.Build -ge 17134 -and [System.Environment]::OSVersion.Version.Build -le 17763){Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*start.tilegrid`$windows.data.curatedtilecollection.tilecollection\Current"|ForEach-Object{Set-ItemProperty -Path $_.PSPath -Name Data -Value ($_.Data[0..25]+([byte[]](202,50,0,226,44,1,1,0,0)))};Stop-Process -Name ShellExperienceHost -Force -ErrorAction SilentlyContinue}
-
https://github.com/Disassembler0/Win10-Initial-Setup-Script/
- Function UnpinStartMenuTiles の実装を一部切り出したものです。
タイルのリセット
スタートメニュータイルの情報を格納しているレジストリを削除する事で、スタートメニュータイルのリセットを行います。ユーザーのデフォルト、もしくは出荷時設定にリセットされます。
if([System.Environment]::OSVersion.Version.Build -ge 17134 -and [System.Environment]::OSVersion.Version.Build -le 17763){Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*start.tilegrid`$windows.data.curatedtilecollection.tilecollection\Current" -Force;Stop-Process -Name ShellExperienceHost -Force -ErrorAction SilentlyContinue}
タイルを元に戻す
エクスポートしたXMLファイルをユーザーのデフォルトとなるよう、所定の場所にコピーしてからリセットを行い、スタートメニューを元に戻します。先に示した Export-StartLayout
コマンドの実行例で、タイルを変更する前にあらかじめエクスポートを行っていたのを前提にしています。
Copy-Item "${env:USERPROFILE}\Documents\MyStartTiles.xml" "${env:USERPROFILE}\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml";
if([System.Environment]::OSVersion.Version.Build -ge 17134 -and [System.Environment]::OSVersion.Version.Build -le 17763){Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*start.tilegrid`$windows.data.curatedtilecollection.tilecollection\Current" -Force;Stop-Process -Name ShellExperienceHost -Force -ErrorAction SilentlyContinue}
タイルをWindowsの既定に
Windows既定のレイアウトとなるXMLデータをユーザーのデフォルトとしてからリセットを行います。
if([System.Environment]::OSVersion.Version.Build -ge 17134 -and [System.Environment]::OSVersion.Version.Build -le 17763){Set-Content -Path "${env:USERPROFILE}\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml" -Value @"
<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" Version="1"/>
"@ -Force;Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*start.tilegrid`$windows.data.curatedtilecollection.tilecollection\Current" -Force;Stop-Process -Name ShellExperienceHost -Force -ErrorAction SilentlyContinue}