2016-04-22 5 views
1

Ich versuche, in Windows 10Pin Programm-Menü starten mit PS in 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 
    } 
} 

Nach Ausführen dieses Code ein Programm zum Startmenü an Pin sehe ich die Erfolgsmeldung, was bedeutet, es findet die benötigtes Verb.

Aber ich sehe nicht notepad.exe Kachel im Startmenü.

Bitte helfen

Antwort

0

Dies ist nicht mehr möglich, in Windows 10 (latest schien in 8.1 zu arbeiten). Ich kann nicht sicher sagen, aber diese Probleme scheinen miteinander verbunden zu sein. Sehen Sie hier:
https://connect.microsoft.com/PowerShell/feedback/details/1609288/pin-to-taskbar-no-longer-working-in-windows-10
und auch hier:
Pin program to taskbar using PS in Windows 10.

+0

Hallo, Vielen Dank für Ihre Antwort. – chaitug

+2

Die Links, die Sie zur Verfügung gestellt haben, sprechen über das Pinnen auf "Taskleiste". Ich suche nach "Startmenü" als Kachel. Ich stimme völlig zu, dass wir nicht an "Taskleiste" anheften können und ich sehe kein Verb für diese auf Win10. Wo ich sehe "Pin to Start" Verb, wenn ich auf Win10 Maschine abfragen, aber Code ist eigentlich nicht zum Startmenü pinning – chaitug

+0

Sie haben Recht. Ich konnte keinen offiziellen Beweis finden, aber Leute haben das erfolglos versucht http://www.osd-couture.com/2015/07/windows-10-pin-to-start-is-back.html –

1
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" 
+0

Ihre '$ unpin.IsPresent' ist immer falsch, so dass es nie eine App von Start loslösen wird. Sie sollten '-unpin' wie: 'Pin-App '..." -unpin "hinzufügen – Dieter

Verwandte Themen