windows - 如何通过PowerShell为Windows 10上的当前用户设置Windows开始菜单布局

标签 windows powershell

由于我上次不得不过多地设置Windows PC(并且可能下次也要如此),因此我正在尽最大努力实现此过程的自动化(尽管这样做仍然不值得) )。

目前,我尝试删除开始布局中的所有项目。我见过this post,但它指出那里仅取消固定已安装的应用程序(执行Windows Store之类的脚本后,某些内容仍然存在)。

因此,我认为只说Windows“嘿,如何使用这种空布局”来删除所有内容会更容易。我遵循了这两个教程12

我通过PowerShell导出了当前(空)启动布局:

Export-StartLayout -UseDesktopApplicationID -Path "C:\CustomStartLayout.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" />
        </StartLayoutCollection>
    </DefaultLayoutOverride>
</LayoutModificationTemplate>

然后,我在两个教程中都创建了注册表项:
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer"
New-ItemProperty -Force -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name LockedStartLayout -PropertyType DWord -Value 0
New-ItemProperty -Force -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name StartLayoutFile -PropertyType ExpandString -Value "C:\CustomStartLayout.xml"

它指出更改应在重新启动Windows后生效,但不会生效。我已经检查了注册表项是否在注册表中,并且在正确的路径上具有正确的值,并且xml文件在正确的路径中。

我想念什么吗?还是有另一种方法?重要的是,我只需要最后执行脚本,并且不必手动干预任何内容。手动步骤仅应为初始步骤(例如编写此脚本或创建一个标准的布局文件,稍后再将其加载)。

最佳答案

所以我做了一些研究。显然,将开始布局应用于当前登录的用户在某种程度上很特殊(因为这不是经常需要的,仅适用于一个用户)。

我问题中的上述解决方案仅适用于尚未登录此计算机上系统的用户-甚至一次也没有(,我没有使用新创建的用户对其进行过的测试。我只知道我的PC在运行后不会爆炸这些命令)。

现在从this postthis post知道开始布局的默认配置位于:

C:\Users\%username%\AppData\Local\Microsoft\Windows\Shell\DefaultLayout.xml

并且,这一点不应更改。对于修改,请使用以下文件(如果尚不存在,则只需创建即可):
C:\Users\%username%\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml

但是此文件仅在删除特定的注册表项后才生效。在PowerShell中执行以下操作:
Remove-Item -Force -Recurse -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\CloudStore\Store"

当然,此后必须重新启动PC。

关于windows - 如何通过PowerShell为Windows 10上的当前用户设置Windows开始菜单布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60594329/

相关文章:

powershell - 使用System.IO.Compression.FileSystem将完整目录添加到现有zip文件中

windows - 如何从磁盘获得良好的并发读取性能

java - 为 RMI 注册表创建 Windows 服务

regex - 去除非字母数字字符的文件名

powershell - FileSystemWatcher 在 PowerShell ISE 中工作,但在运行时不工作

powershell - 在配置文件脚本中使用十六进制值设置 Powershell 颜色

c++ - 如何以编程方式确定 Windows 可执行文件 DLL 依赖项?

c++ - 获取 CPU 温度

powershell - 为什么在调用命令参数列表中作为参数传递的脚本 block 会失败?

powershell - Select-Object返回第一个结果作为我的列名,而不是结果