将 Metro 应用程序固定到任务栏 Windows 10 Powershell



以下代码将固定一个地铁应用程序以启动给定 AUMID

如果您更改

-match 'Pin To Start'

不幸的是,将匹配更改为"固定到任务栏"不起作用。这是怎么回事?

function Pin-Taskbar {    param(
[string]$aumid,
[switch]$unpin
)
try{
if ($unpin.IsPresent){
((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Path -eq $aumid}).Verbs() | ?{$_.Name.replace('&','') -match 'Unpin from Taskbar'} | %{$_.DoIt()}
return "App '$aumid' unpinned from Taskbar"
}else{
((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Path -eq $aumid}).Verbs() | ?{$_.Name.replace('&','') -match 'Pin to Taskbar'} | %{$_.DoIt()}
return "App '$aumid' pinned to Taskbar"
}
}catch{
Write-Error "Error Pinning/Unpinning App! (App-Name correct?)"
}
}

Pin-Taskbar king.com.CandyCrushSaga_kgqvnymyfvs32!App

我假设你是一个好公民,不想向用户的任务栏发送垃圾邮件。

在以前版本的 Windows 中,您可以使用谓词Pintotaskbar以编程方式将程序取消/固定到任务栏。

$shell = new-object -com "Shell.Application" 
$folder = $shell.Namespace((Join-Path $env:SystemRoot System32WindowsPowerShellv1.0))
$item = $folder.Parsename('powershell_ise.exe')
$item.invokeverb('taskbarpin');

这在 Windows 10 中不再有效。动词Pintotaskbar根本无法再存在

因此,未经批准的第三方命令提示符实用程序 名为SysPin的栩栩如生 - 它允许您完全做自己想做的事情(尽管它不适用于每个应用程序,尤其是UWP/Metro应用程序(。

但是,从 Windows 10 版本 1607 开始,有一种新的官方方法:添加<任务栏布局>
请参阅:在使用 ConfigMgr 进行 OSD 期间在 Windows 10 1607 中自定义任务栏上的固定项目

最新更新