如何删除 Windows 10 开始菜单中的所有磁贴?

如何删除 Windows 10 开始菜单中的所有磁贴?

我经常遇到的一个问题是,我有一台新电脑,我会使用一段时间。而且,几乎我用过的每台 Windows 10 电脑(甚至是工作电脑)的开始菜单中都有很多我不想要的垃圾,这些垃圾以磁贴的形式存在。我不太在意“所有应用”菜单中的内容,因为它们不碍事,但我希望磁贴只显示我经常使用的内容。

不幸的是,据我所知,移除图块的唯一方法是通过右键单击 > 从开始取消固定逐个移除图块。我如何才能快速移除所有这些图块?

另外,有没有简单的方法可以从另一台计算机复制开始菜单链接和布局?这将很有用,因为无论我使用哪台 PC,我都希望在开始菜单中显示一些程序。

答案1

警告:脚本运行时无需确认和反馈。它对我来说是有效的(参见 PS2),但我不知道它是否对每个人都有效。

,我编写了以下脚本,它为我完成了这件事:

(New-Object -Com Shell.Application).
    NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
    Items() |
  %{ $_.Verbs() } |
  ?{$_.Name -match 'Un.*pin from Start'} |
  %{$_.DoIt()}

它从开始菜单中取消固定所有程序。


对于非英语的 Windows,您可能应该用另一个句子替换“Un.*pin from Start”。

跑步

(New-Object -Com Shell.Application).
    NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
    Items() |
  %{ $_.Verbs() }

检查一下什么是你的。法语:'&Désépingler de la page d''accueil'

PS:上面的命令可能会打印很长的列表,手动查看起来比较困难。您可以通过以下命令在开始屏幕中查看某些已知应用程序的操作(替换名称以匹配,对我来说是 KeePass):

(New-Object -Com Shell.Application).
     NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
     Items() | ?{$_.Name() -match 'Keep.*'} |
     %{ $_.Verbs() }

PS2:@MarcoLackovic 报告说它不会删除所有内容。最近我有机会尝试了一下,它确实没有删除所有内容。剩下的是对 Windows Store 的引用。看起来该脚本只扫描已安装的应用程序,因此它不会删除其他图标。例如,我怀疑它还会跳过固定的文档。

答案2

我为此想出了一个冗长但全面的脚本,它可以删除所有图块,甚至删除尚未安装的应用程序(Candy Crush、Netflix 等)的图块。复制下面的内容并从PowerShell ISE以管理员身份执行的窗口。

它将删除当前登录用户的所有标题,另外还可以选择对所有用户执行相同操作新用户在计算机中——见下文。

#Requires -RunAsAdministrator

$START_MENU_LAYOUT = @"
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
    <LayoutOptions StartTileGroupCellWidth="6" />
    <DefaultLayoutOverride>
        <StartLayoutCollection>
            <defaultlayout:StartLayout GroupCellWidth="6" />
        </StartLayoutCollection>
    </DefaultLayoutOverride>
</LayoutModificationTemplate>
"@

$layoutFile="C:\Windows\StartMenuLayout.xml"

#Delete layout file if it already exists
If(Test-Path $layoutFile)
{
    Remove-Item $layoutFile
}

#Creates the blank layout file
$START_MENU_LAYOUT | Out-File $layoutFile -Encoding ASCII

$regAliases = @("HKLM", "HKCU")

#Assign the start layout and force it to apply with "LockedStartLayout" at both the machine and user level
foreach ($regAlias in $regAliases){
    $basePath = $regAlias + ":\SOFTWARE\Policies\Microsoft\Windows"
    $keyPath = $basePath + "\Explorer" 
    IF(!(Test-Path -Path $keyPath)) { 
        New-Item -Path $basePath -Name "Explorer"
    }
    Set-ItemProperty -Path $keyPath -Name "LockedStartLayout" -Value 1
    Set-ItemProperty -Path $keyPath -Name "StartLayoutFile" -Value $layoutFile
}

#Restart Explorer, open the start menu (necessary to load the new layout), and give it a few seconds to process
Stop-Process -name explorer
Start-Sleep -s 5
$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{ESCAPE}')
Start-Sleep -s 5

#Enable the ability to pin items again by disabling "LockedStartLayout"
foreach ($regAlias in $regAliases){
    $basePath = $regAlias + ":\SOFTWARE\Policies\Microsoft\Windows"
    $keyPath = $basePath + "\Explorer" 
    Set-ItemProperty -Path $keyPath -Name "LockedStartLayout" -Value 0
}

#Restart Explorer and delete the layout file
Stop-Process -name explorer

# Uncomment the next line to make clean start menu default for all new users
#Import-StartLayout -LayoutPath $layoutFile -MountPath $env:SystemDrive\

Remove-Item $layoutFile

此外,此脚本还有几种其他用途:

  1. 适用于新用户:

    a. 取消注释脚本中的该行

  2. 应用自定义布局

    a. 按照您的需要自定义开始布局

    b. 使用此 MS 指南将其导出:https://docs.microsoft.com/en-us/windows/configuration/customize-and-export-start-layout

    c. 用您导出的 XML 替换 $START_MENU_LAYOUT(确保正确转义字符)

这应该可以解决原始问题中提到的所有情况。

答案3

InterLinked 建议的方法的替代方法是使用 PowerShell 来删除应用程序(这会彻底删除应用程序,而不仅仅是隐藏它们)。

Get-AppXPackage | where-object {$_.name –notlike “*store*”} | Remove-AppxPackage

更多信息请参阅本教程。http://www.tenforums.com/tutorials/4689-apps-uninstall-windows-10-a.html

答案4

您提到您正在使用 Windows 10。组策略编辑器提供了此功能。您可以使用组策略模板来大规模管理设置。

如果您不想要图块,请确保您的模板没有图块并部署。如果您想要某些图块,请先排列它们,然后捕获,再部署。

您可以使用此链接了解有关此方法的更多信息

如果您没有 gpedit.msc,您可以使用第三方解决方法来安装它,但这仅适用于您使用家庭版的情况。否则,它应该可以正常工作。

相关内容