【发布时间】:2017-07-17 19:37:07
【问题描述】:
我每天都设置计算机,我需要删除 Microsoft Edge 和 Store 任务栏快捷方式。
我在创建脚本时遇到问题,我搜索了其他 stackoverflow 帖子,但它们对我没有帮助。
有没有人可以取消固定 MS Edge 和 Store 任务栏快捷方式的脚本?
【问题讨论】:
标签: windows powershell
我每天都设置计算机,我需要删除 Microsoft Edge 和 Store 任务栏快捷方式。
我在创建脚本时遇到问题,我搜索了其他 stackoverflow 帖子,但它们对我没有帮助。
有没有人可以取消固定 MS Edge 和 Store 任务栏快捷方式的脚本?
【问题讨论】:
标签: windows powershell
您可以通过运行以下 PowerShell 命令取消固定任务栏项目。
function Unpin-App([string]$appname) {
((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() |
?{$_.Name -eq $appname}).Verbs() | ?{$_.Name.replace('&','') -match 'Unpin from taskbar'} | %{$_.DoIt()}
}
Unpin-App("Microsoft Edge")
Unpin-App("Microsoft Store")
这应该适用于任务栏上的任何应用程序。如果没有找到应用程序,则会抛出错误InvokeMethodOnNull。
这是做什么的:
$appname 的项目(在本例中为 Edge 和 Store)Unpin from taskbar
【讨论】:
((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items()) 获取列表,复制到编辑器搜索,发现应该使用“Windows Store”代替。 2.((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Name -eq $appname}).Verbs()已本地化!! (facepalm)所以我不得不用“Открепить от панели задач”(俄语)替换“从任务栏取消固定”,然后解决方案奏效了。谢谢!
Judge2020 提供的非常好的解决方案,+1
Von "Start" lösen
$appnames = "^Microsoft Edge$|^Store$"
((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() |
Where-Object{$_.Name -match $appnames}).Verbs() |
Where-Object{$_.Name.replace('&','') -match 'Unpin from taskbar|Von "Start" lösen'} |
ForEach-Object{$_.DoIt(); $exec = $true}
【讨论】: