使用 Powershell 从 Windows 10 任务栏取消固定新的 Edge

Unpin the new Edge from Windows 10 taskbar with Powershell

这是我一直在使用的代码...(而且效果很好!)

function DoUnpin([string]$appname) {
   $ErrorActionPreference = 'silentlycontinue'
    ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() `
     | Where-Object { $_.Name -eq $appname }).Verbs() `
     | Where-Object { $_.Name.replace('&', '') -match 'Unpin from taskbar' } `
     | ForEach-Object { $_.DoIt(); }
   $ErrorActionPreference = 'continue'
}
DoUnpin "Microsoft Store"
DoUnpin "Mail"
DoUnpin "Store"
DoUnpin "Edge"
DoUnpin "Microsoft Edge"

但在过去的几周里,微软一直在推出新的基于 Chromium 的 Edge(带有漩涡图标的那个),我一直无法弄清楚如何在不使用 mouse/GUI.

有人知道为什么会这样吗?

您可以尝试查看 LayoutModification.xml 文件。如果那里有一个 Edge 条目,它将一直固定到任务栏。

文件位于 %userprofile%\AppData\Local\Microsoft\Windows\Shell。

如果文件存在,打开它并查找“CustomTaskbarLayoutCollection”部分。然后检查任何与 Edge 相关的条目并删除这些行。

MS 的 edge-forcefulness 越来越狡猾。它现在保存在注册表中(对于 20H2 的新用户):

"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband"

在“收藏夹”下。

该键是保存用户对任务栏的修改的地方。由于我们想为新用户从那里删除 Edge,只需删除该键和其中的所有值,这将删除所有任务栏自定义项。如果您有自定义 LayoutModification.xml,它仍会应用您的自定义,而不会在任务栏中强制固定 Edge 快捷方式。

Remove-Item "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" -Recurse -Force

然后只需停止并重新启动资源管理器进程,即可为当前用户删除快捷方式。

Stop-Process -Processname Explorer -WarningAction SilentlyContinue -ErrorAction SilentlyContinue -Force

如果您希望所有新用户都这样做,您可以将 RunOnce 密钥添加到默认注册表配置单元以 运行 以上两个命令。