powershell - 在Windows 10中使用PS将程序固定到开始菜单

标签 powershell windows-10 tile startmenu

我正在尝试将程序固定到Windows 10中的开始菜单

$shell = New-Object -ComObject "Shell.Application"
$Folder = $shell.NameSpace("C:\Test")
$exe = $Folder.ParseName("notepad.exe")
#$exe.Verbs()
$ItemVerbs = $exe.Verbs()

Foreach($ItemVerb in $ItemVerbs)
{
    If($ItemVerb.Name.Replace("&","") -match "Pin to Start")
    {
       $ItemVerb.DoIt()

       Write-Host "Pin to the Start menu sucessfully.+ ""$ItermVerbTxt"" " -ForegroundColor Green
     }
}

执行此代码后,我看到成功消息,这意味着它正在找到所需的动词。

但是我没有在开始菜单中看到notepad.exe磁贴。

请帮忙

最佳答案

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

Pin-App "Outlook 2016"
Pin-App "Google Chrome" 
Pin-App "This PC"

关于powershell - 在Windows 10中使用PS将程序固定到开始菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791289/

相关文章:

windows - 如何在带空格的路径中运行 PowerShell 脚本?

powershell - 获取日期格式/文化

Java Tile 游戏缩放

powershell - Start-Job 将 XML 对象传递给 -ArgumentList 在 Powershell V2 和 V3 中工作方式不同

powershell - 除非已通过 Windows 资源管理器打开,否则无法打开共享点 UNC 路径

python - Windows 10 Tensorflow (Anaconda) GPU 不工作

browser - Win10如何在Wi-Fi热点连接上禁用自动打开浏览器?

docker - 如何在 Windows 2 下使用 Docker 在不同的 URL 下启动和访问不同的 Webserver?

swift - Sktilemapnode 从一张图片加载图 block

java - 如何在 Java 中生成 map ?