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

Kat*_*Kat 40 start-menu live-tiles windows-10

我遇到的一个常见问题是我有一台新 PC,我将使用一段时间。几乎我使用过的每台 Windows 10 PC(甚至是工作 PC)都有大量我不想要的以磁贴形式出现在开始菜单中的垃圾。我不太关心“所有应用程序”菜单中的东西,因为它不碍事,但我希望磁贴只用于我经常使用的东西。

不幸的是,据我所知,删除瓷砖的唯一方法是通过右键单击 > 从头开始​​取消固定。如何快速移除所有这些瓷砖?

另外,是否有一些简单的方法可以从另一台计算机复制开始菜单链接和布局?这将很有用,因为无论我使用什么 PC,我都有许多我一直想要在开始菜单中的程序。

max*_*630 27

警告:脚本在没有确认和反馈的情况下运行。它对我有用(参见 PS2),但我不知道它是否对每个人都有效。

thisthis,我制作了以下脚本,它为我做了这件事:

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

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


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

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

检查你的。法语:'&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() }
Run Code Online (Sandbox Code Playgroud)

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


小智 12

为此,我想出了一个冗长但全面的脚本,它会删除所有磁贴,甚至是那些尚未安装的应用程序(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
Run Code Online (Sandbox Code Playgroud)

此外,此脚本还可以通过其他几种方式使用:

  1. 申请新用户:

    一种。取消注释脚本中的所述行

  2. 应用自定义布局

    一种。完全按照您想要的方式自定义您的开始布局

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

    C。将 $START_MENU_LAYOUT 替换为您导出的 XML(确保正确转义字符)

这应该处理原始问题中提到的所有情况。

  • 我已经使用这个脚本 6 个多月了,它从未让我失望。到目前为止,这是唯一一个可以在我尝试过的多个脚本中工作的脚本。我已将其添加到我的脚本集合中以清理 W10:https://github.com/cbaldan/Debloat-Windows-10/tree/master (4认同)

小智 3

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

\n\n
Get-AppXPackage | where-object {$_.name \xe2\x80\x93notlike \xe2\x80\x9c*store*\xe2\x80\x9d} | Remove-AppxPackage\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n