我正在寻找一种方法,从一台电脑导出“开始”菜单布局(“开始”菜单的右侧,而不是左侧的所有应用程序部分),然后将该布局导入到另一台电脑 + 保留备份副本以供将来使用。
Export-StartLayout + Import-StartLayout
因为它仅适用于默认配置文件,所以毫无用处,我需要一种方法来处理当前已经创建的配置文件。
因此我正在尝试使用%LocalAppData%\TileDataLayer\Database\vedatamodel.edb
和/或整个Database
目录。
由于这是系统使用的文件,因此我按如下方式备份它:
@echo off
echo Taskkill Windows Explorer...
taskkill /im explorer.exe /f
echo Stop staterepository...
net stop staterepository /y
echo Copy database...
robocopy "%LocalAppData%\TileDataLayer\Database" "%UserProfile%\Desktop\TLI_Start_Backup" /mir
echo Restart Windows Explorer...
explorer.exe
pause
这按预期工作,但当我尝试恢复时......它没有恢复任何东西。复制成功,但没有恢复“开始”布局。
我做错了什么?还有其他方法可以备份“开始”布局吗?
答案1
我找到了问题所在。微软已经弃用的 Tile 数据层在 Windows 10 1703(我发布问题时正在使用的版本)中,并在 1709 中将其删除。
自 Windows 10 1703 起,有 3 个文件夹 + 1 个注册表项保存“开始”菜单数据(来源):
"%LocalAppData%\Microsoft\Windows\CloudStore"
"%LocalAppData%\Microsoft\Windows\Caches"
"%LocalAppData%\Microsoft\Windows\Explorer"
我已经创建了一个脚本来正确备份和恢复它:开始备份。非常欢迎在 Github 上提出反馈和拉取请求。
答案2
下面介绍了在 Windows 10 中导出和导入开始菜单布局的正确步骤。
出口
在“开始”菜单具有您要部署的配置后,您必须运行以下 PowerShell 命令:
Export-StartLayout -Path C:\tmp\start.xml
这会将当前的“开始”菜单配置导出到 XML 文件。
通过 PowerShell 导入
运行以下 PowerShell 命令:
Import-StartLayout -LayoutPath .\start.xml -MountPath C:\tmp
该C:\tmp
文件夹应被另一个非临时文件夹替换。
通过组策略导入
可以通过组策略部署设置。
在目标计算机上,按Win+ R,输入gpedit
并点击Enter。
该政策可在以下网址找到:用户配置>管理模板>开始菜单和任务栏。 同样的政策也适用于计算机配置。
双击开始布局, 点击已启用并输入文件的路径:
点击好的完成。可能需要注销/登录。
此方法的一个缺点可能是“开始”菜单将被锁定。也就是说,用户无法再固定或取消固定磁贴。不过,这也许正是您想要的。
如果您想更新已修复的“开始菜单”布局,则需要更新导入的 XML 文件。您可以将其替换为另一个 XML 文件,但请确保文件名和路径保持不变。
答案3
Export-StartLayout -Path C:\tmp\start.bin
Import-StartLayout -LayoutPath C:\temp\start.bin -MountPath C:\tmp
它应该可以工作,但只对当前登录的用户有效,并且它将成为所有后续登录的标准。因此,我们假设系统上有三个用户。无论运行此命令时登录的是谁,他的开始菜单都将成为其余两个用户的标准。
答案4
这对我更新当前用户的“开始”布局有用(我使用的是 1909 版本):我认为它与上一个答案所建议的类似,但一切都是通过编程完成的。 Pete7346_solution
我也分享过另一篇帖子,两个问题非常相似。希望对您有所帮助。