Pin to taskbar no longer working in Windows 10 - by DHilgarth

Status : 

  External<br /><br />
		This item may be valid but belongs to an external system out of the direct control of this product team.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.


87
0
Sign in
to vote
ID 1609288 Comments
Status Resolved Workarounds
Type Bug Repros 29
Opened 7/30/2015 7:53:01 AM
Access Restriction Public

Description

The following code has been used on Windows 8.1 to pin a program to the task bar:

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

This no longer works in Windows 10.

Retrieving the verbs via $item.Verbs() of this file returns all verbs except the "Pin to taskbar".

A right click on the file shows that the verb actually exists.

See also: http://stackoverflow.com/questions/31720595/pin-program-to-taskbar-using-ps-in-windows-10
Sign in to post a comment.
Posted by Stuart P79 on 11/27/2016 at 5:02 AM
Kurt, sorry for the long time taken to reply. For that I'd create a shortcut to NIRCMD using the elevate command and pin that shortcut as required...
http://www.nirsoft.net/utils/nircmd2.html#using

Search the page for "elevate"
Posted by KurtTheBerner on 11/2/2016 at 10:26 AM
Stuart P79, I mean pin a link with selected Property "Run as administrator". Clicking this pinned item will then start the related Program in an Administrator context (UAC Elevation Dialog will appear).
Posted by Stuart P79 on 10/30/2016 at 2:07 AM
KurtTheBerner, can you elaborate on that? All pins need to be performed in the user context so running "as administrator" is not required.
Posted by KurtTheBerner on 10/25/2016 at 7:56 AM
Stuart P79,
Thanks for PinTo10, it works fine for me. Is it also possible to pin an item using "Run as administrator"?
Posted by EricVB on 10/18/2016 at 3:56 PM
Stuart P79,

https://drive.google.com/drive/folders/0B_A5MSDocJVpYkw5dWl2akFxeUk?usp=sharing

Here is a screenshot and the scripts I am running and a little information about how I am able to replicate it. So far I have tested on windows 10 anniversary have not checked the previous windows 10.
Posted by Stuart P79 on 10/7/2016 at 12:20 PM
EricVB, I can't seem to replicate that issue. I can run several pin scripts and they're still there with the correct icons when I log out and back in again.
Posted by EricVB on 10/3/2016 at 12:16 PM
Actually it still changes it to white after the second logon even without script running only if i am running two different scripts. I had one mount all the main icons and one that would pin software center only for employees. This causes a conflict. Running one runs just fine.
Posted by EricVB on 10/3/2016 at 11:44 AM
That is if the script is rerun after they are already pinned. For now I just put a registry key as a detection and do not have it run again.
Posted by EricVB on 10/3/2016 at 11:22 AM
StuartP79. I tested with v1.1 and it works at first login, but if I relogin then it seems the 2 pinned items from the right become whited out and do not work.
Posted by Stuart P79 on 9/13/2016 at 10:00 AM
Given PinTo10v2 its own home. Feel free to test and give comments if you wish...
https://pinto10blog.wordpress.com/2016/09/10/pinto10/
Posted by Stuart P79 on 9/10/2016 at 9:49 AM
Update code to v1.1 which gets around the bug in 1.0 that stops pinning to Start Menu working in some circumstances.

https://www.dropbox.com/s/q4joxy231hz0klj/PinTo10v2_1.1.zip?dl=1
Posted by Stuart P79 on 9/5/2016 at 12:32 PM
Updated download link
https://www.dropbox.com/s/7rxpmff1zmamwpj/PinTo10v2_1.0.zip?dl=1
Posted by Stuart P79 on 9/5/2016 at 12:23 PM
@alexDevBR...

Thanks for your code. It's really nice to have the source to look at and work from rather than Syspin which is closed source and seems to trigger some virus detectors...

I have modified your code to work the way I wanted to in order to produce PinTo10v2! It has largely the same functionality as my first iteration but should be a LOT faster. It has the limitation that it can only pin to the Start Menu if the shortcut already exists in either the current user or all user Start Menu paths at the moment but that just means you should only try to pin shortcuts to the Start Menu that you know already exist. I've tried to code it to create a shortcut if one doesn't exist (like it does when you do the pin manually) but it didn't seem to work and I figured that it could just be a limitation until someone can figure it out.

This is my first ever attempt at any C# so my additional code might be a bit scruffy but it seems to work. It works for Windows 7 and 10 and source code and binary are provided. It's built for .net 4.

Give it a go and let me know if it works OK for you...

https://www.dropbox.com/s/yrb0e6w79nrium0/PinTo10v2_1.0.zip?dl=1

StuartP
Posted by alexDevBR on 8/16/2016 at 11:12 AM
@Duduz IL, if you want a solution in C# I wrote one here: http://alexweinberger.com/main/pinning-network-program-taskbar-programmatically-windows-10/
Since there are other solutions here already might as well have a safe one you can compile yourself.
The method used might flag an antivirus software though so be sure to test before deploying this for clients.
Posted by irenuncio on 7/15/2016 at 1:30 AM
Hi RobGrohman, nice link. The PS code works even in the Active Setup scenario. However, if you need to pin another program to the taskbar, yes I've also found that explorer.exe needs to be active. If so, you can achieve it this way (I use SHORTCUT/XXMKLINK to create shortcuts and SYSPIN/PINTO10 to pin applications):

(code for Active Setup)

"%~dp0.\shortcut.exe" /F:"%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\PinDesiredApplications.lnk" /A:C /R:7 /T:"%~dp0.\PinDesiredApplications.bat"

And then, in PinDesiredApplications.bat:

REM -- Pin the desired application (you can pin and shortcut, too)
"%~dp0.\syspin.exe" "C:\Program Files\Internet Explorer\iexplore.exe" c:5386
REM -- Remove the Startup shortcut after 1st execution (or not)
DEL "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\PinDesiredApplications.lnk"
REM -- And only if needed, restart GUI
TASKKILL /F /IM explorer.exe
START explorer.exe

This works fine for me.

Kind regards.-
Posted by RobGrohman on 6/29/2016 at 7:18 AM
something I found yesterday.. I hope this helps someone.. http://rolfsnotepad.blogspot.no/2016/06/unpin-edge-and-pin-internet-explorer.html
Posted by СΣЧΗUП ΘZGΣП on 6/27/2016 at 11:22 AM
Tips for edge pin;

Please make shortcut (.lnk) with this location:
"%windir%\explorer.exe shell:Appsfolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
and pin this lnk file with syspin "lnkfilepathandname.lnk" c:5386
Posted by СΣЧΗUП ΘZGΣП on 6/24/2016 at 12:16 PM
Hello Guys,

Syspin now freeware
http://www.technosys.net/products/utils/pintotaskbar
Posted by RobGrohman on 6/16/2016 at 12:42 PM
@Stuart P79 - First of all thank you for taking the time to give us pinTo10.exe! :) Do you know if explorer must be active in order for the utility to work? I am trying to use the utility in 'Active Setup' for an in-place-upgrade scenario. It seems that it may not be working because explorer is not started at the time that the active setup 'stub' executes. Has anyone solved this for use with an in-place-upgrade scenario?
Posted by Squuiid on 5/20/2016 at 8:33 AM
Here's my logon batch file using PinTo10.exe
It pins Office 2013/2016 and a few other apps. I found that I had to check for the presence of what I'm pinning as it would break the shortcuts if they existed previously.


@echo off
timeout /t 15 /nobreak
IF EXIST "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Google Chrome.lnk" GOTO END
IF EXIST "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Word*.lnk" GOTO END
IF EXIST "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Excel*.lnk" GOTO END
IF EXIST "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\PowerPoint*.lnk" GOTO END
IF EXIST "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Onedrive for Business*.lnk" GOTO END
IF EXIST "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Skype for Business*.lnk" GOTO END
IF EXIST "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\paint.net.lnk" GOTO END

\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files (x86)\Google\Chrome\Application\" /PTFILE:"chrome.exe"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files\Microsoft Office 15\root\office15\" /PTFILE:"OUTLOOK.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files\Microsoft Office 15\root\office15\" /PTFILE:"WINWORD.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files\Microsoft Office 15\root\office15\" /PTFILE:"EXCEL.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files\Microsoft Office 15\root\office15\" /PTFILE:"POWERPNT.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files\Microsoft Office 15\root\office15\" /PTFILE:"GROOVE.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files\Microsoft Office 15\root\office15\" /PTFILE:"lync.exe"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files (x86)\Microsoft Office\root\Office16\" /PTFILE:"OUTLOOK.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files (x86)\Microsoft Office\root\Office16\" /PTFILE:"WINWORD.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files (x86)\Microsoft Office\root\Office16\" /PTFILE:"EXCEL.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files (x86)\Microsoft Office\root\Office16\" /PTFILE:"POWERPNT.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files (x86)\Microsoft Office\root\Office16\" /PTFILE:"GROOVE.EXE"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files (x86)\Microsoft Office\root\Office16\" /PTFILE:"lync.exe"
\\DOMAIN\SysVol\DOMAIN\scripts\PinTo10.exe /PTFOL:"C:\Program Files\paint.net\" /PTFILE:"PaintDotNet.exe"

:END

Posted by Squuiid on 5/20/2016 at 5:20 AM
Folks, as pointed out by someone else here, I would NOT trust the Technosys executable. Virustotal does indeed flag it as containing malware.
The app is unsigned and a significant risk IMO.
Also, despite this confusing statement "and Mark please do not use at Fin Design because this is not commercial use only" and a lack of EULA, it would appear as though Technosys is trying to charge $2k for it's use commercially.

We really do need a vbs, powershell or other alternative please.

https://www.virustotal.com/en/file/c14e981cc3ec272746628747688a6713d669b926e53ae38c565cbb1d175a26ba/analysis/1463745341/
Posted by Anton Romanyuk on 5/9/2016 at 11:31 PM
Removing Edge / Store icons is somewhat tricky. I usually do it right after the OSD by modifying the HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband key and then restarting the explorer process:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband]
"Favorites"=hex:ff
"FavoritesChanges"=dword:00000015
"FavoritesVersion"=dword:00000002
"FavoritesRemovedChanges"=dword:00000001

Jörgen Nilsson described the process in greater depth here: http://ccmexec.com/2015/12/removing-the-edge-icon-from-the-taskbar-during-osd/
Posted by Tomiliy on 4/28/2016 at 7:02 AM
how can i pin / unpin the Store or Edge?
This doesen't work... why?
Posted by Duduz IL on 4/20/2016 at 2:14 PM
Hi Guys,

Is there any PowerShell or C# Implantation?
Posted by Torbjörn.D on 4/15/2016 at 1:31 PM
nunaa - How do i use the fix?
Posted by nunaa on 2/26/2016 at 4:07 AM
I have fixed it. I didn't copy the dll to plugin folder. But the Script provide by you is not pinning/unpinning to taskbar.

https://www.dropbox.com/s/v7flt5m788yyex0/PinTo10.nsi?dl=0
Posted by nunaa on 2/25/2016 at 11:46 PM
@Stuart P79..I'm getting the below error when I run the script provided by you.

Push: $ptfolder01
Push: $ptfile01
Push: 5386
Invalid command: StdUtils::InvokeShellVerb
Error in macro _StdUtils_InvkeShlVrb on macroline 4
Error in script "C:\Users\Vivek\Downloads\Nsis\PinTo10.nsi" on line 768 -- aborting creation process
Posted by nunaa on 2/25/2016 at 2:50 AM
I'm not able to pin/unpin exe on Windows 10 machine pragmatically. Anybody got proper solution?

Dim ShellApp, Desktop
ShellApp = CreateObject("Shell.
Desktop = ShellApp.NameSpace("C:\Windows\System32").Parsename("notepad.exe").invokeverb("taskbarpin")

above code runs without error, but does not pin/unpin program to taskbar.
Posted by Greg Pick on 2/4/2016 at 9:48 PM
@Stuart - Thanks for PinTo10.exe! Nice work!! One really minor suggestion:

Change the /PTFOLxx: switch to /PTFOLDxx: so that it's the same length as the /PTFILExx" switch. A small change but it would make things a little neater and easier to read in a monospaced script if these switches were the same length.
Posted by Greg Pick on 2/4/2016 at 9:33 PM
@СΣЧΗUП ΘZGΣП - Thank you! SysPin works great.
Posted by myah on 1/4/2016 at 3:54 PM
Why don't you use InstallAware?

It programmatically pins to the Taskbar and the Start Menu on Windows 10, including the Windows 10 Threshold 2 update which has caused grief here.

It also programmatically pins to the Taskbar and Start Screen on Windows 8.1, another unique ability.

All from a single code base.

Enjoy!
Posted by СΣЧΗUП ΘZGΣП on 12/22/2015 at 1:53 AM
Because of PECompact,
https://www.virustotal.com/tr/file/c14e981cc3ec272746628747688a6713d669b926e53ae38c565cbb1d175a26ba/analysis/1450777381/

and Mark please do not use at Fin Design because this is not commercial use only.
Posted by MarkAtFinDesign on 12/21/2015 at 4:15 PM
Hey All,

Just so everyone knows, the syspin tool by СΣЧΗUП ΘZGΣП comes up with a "Tulim.B!plock" Trojan warning by Windows Defender (http://1drv.ms/1QV4pyS)... Not sure if it is a false positive, but you may not want to take the chance.


Cheers,
Mark
Posted by jbmurphy on 12/11/2015 at 5:44 AM
СΣЧΗUП ΘZGΣП, can you post Source code, so we can see how you did it?
Posted by СΣЧΗUП ΘZGΣП on 12/7/2015 at 11:58 PM
Thx for information Stuart, i will add this numbers to description. You can use any verb in tool there is no restriction.
Posted by Stuart P79 on 12/7/2015 at 8:55 AM
СΣЧΗUП ΘZGΣП - Thanks for that. Your command line tool pins the icons considerably quicker than mine so that will be very beneficial to me. For reference you can use the following string verb numbers on your tool too...

5386 - Pin to taskbar
5387 - Unpin form taskbar
51201 - Pin to Windows 10 Start Menu
51394 - Unpin from Windows 10 Start Menu

Cheers
Posted by СΣЧΗUП ΘZGΣП on 12/6/2015 at 9:37 PM
Guys,

i wrote simple utility for pin to taskbar problem
http://www.technosys.net/products/utils/pintotaskbar
Posted by Stuart P79 on 12/2/2015 at 12:54 PM
Nutshell30, was that directed at me? I've just tested my PinTo10 and it pins fine to start and taskbar.
Posted by Nutshell30 on 11/30/2015 at 3:45 PM
Taskbar pinning works well. Thanks! Unable to pin to the start menu though. Is this a known issue in win10 1511?
Any workarounds?
Thanks!
Posted by Jason [MSFT] on 11/23/2015 at 2:02 PM
I'm resolving this as external because this is not a PowerShell bug - it is an intentional change in behavior by the Windows client team. I believe the Windows team is aware of the concerns, but you can provide feedback via the Windows 10 Feedback app.
Posted by Dreamcat4 on 11/23/2015 at 11:58 AM
Yeah OK. Well in the meantime I've written a small batch file that simply translates the arguments a little bit then calls your .exe Just a temporary thing.

https://gist.github.com/dreamcat4/21c686ed98acd02a6afe

Thanks for posting your source code.
Posted by Stuart P79 on 11/22/2015 at 1:13 PM
The thing is... it's built on a scripting language I've never used before and its not really designed to do what I've made it do and I've no real intention on spending any more time trying to figure it out as it does the job for me that I needed it to do. Also, I've tested it in command line and it works perfectly well with quotes. I've not tested it in powershell so can't really comment but don't see an issue with not using quotes if that works OK for you. I've posted my source code elsewhere so if anyone wants to get involved and improve it or even port it to something more useful then please go ahead...
I appreciate that the command switches aren't very elegant but they are functional so sorry but I'm leaving it as it is.
https://www.dropbox.com/s/v7flt5m788yyex0/PinTo10.nsi?dl=0
Posted by Dreamcat4 on 11/22/2015 at 8:33 AM
Hi again Stuart P79,

I think we could all benefit from a better arguments parsing. Here's some issues:

* Doesn't handle quoted arguments (at all) - this is a problem when in Powershell (or even regular cmd.exe shell) and needing to specify a folder which contains special characters. For example:

Program Files (x86) - powershell chokes on unquoted brackets () characters as they have a special meaning. Same thing for & etc.

* Your tool would be easier to use if it only tool 1 argument, and you split that entire path internally into dirname / basename.
Posted by Stuart P79 on 11/21/2015 at 2:45 AM
I've confirmed that I've been able to manually pin an application and my tool can remove it by command line. For example I've manually pinned notepad.exe from the Windows directory and can remove it with both...
PinTo10.exe /UTFOL01:"C:\Windows" /UTFILE01:"notepad.exe"
&
PinTo10.exe /UTFOL01:"%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" /UTFILE01:"notepad.lnk"

You'll note that when you pin a modern app to the taskbar no .lnk file is created in the following folder...
"%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar"
So it's using a different method to pin than this tool can deal with.
Posted by Stuart P79 on 11/20/2015 at 1:30 PM
Have you tried unpinning the link file that's in ...
%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

Modern apps are completely different and I don't know how we can deal with them, I've been trying to figure out to unpin Edge for a while now. Taskbar pins are a personal choice eh Microsoft?
Posted by shinta148 on 11/20/2015 at 10:59 AM
So I'm finding that the PinTo10.exe only wants to unpin stuff that it's pinned. I can't get it to unpin for instance a chrome link I pinned. Or Microsoft Edge. Any ideas?
Posted by kjake on 11/19/2015 at 8:05 PM
Stuart, this is really great - thank you!
Posted by Stuart P79 on 11/18/2015 at 11:16 AM
Interesting... I'm not surprised it works without quotes but am surprised it doesn't work with them! Never mind - glad it's working for you.
Posted by Dreamcat4 on 11/18/2015 at 10:42 AM
Small observation: I am running from powershell prompt. The folder path and filename arguments can have spaces in them. But only if the arguments are NOT quoted.

e.g. this worked:

PS C:\Users\id\Desktop> PinTo10.exe /PTFOL01:C:\Program Files\Speccy /PTFILE01:Speccy.exe

didn't work:

PS C:\Users\id\Desktop> PinTo10.exe /PTFOL01:"C:\Program Files\Speccy" /PTFILE01:Speccy.exe
PS C:\Users\id\Desktop> PinTo10.exe "/PTFOL01:C:\Program Files\Speccy" /PTFILE01:Speccy.exe
PS C:\Users\id\Desktop> PinTo10.exe /PTFOL01:'C:\Program Files\Speccy' /PTFILE01:Speccy.exe
PS C:\Users\id\Desktop> PinTo10.exe '/PTFOL01:C:\Program Files\Speccy' /PTFILE01:Speccy.exe
Posted by Dreamcat4 on 11/18/2015 at 10:12 AM
OK. Following your suggestion I re-downloaded your newest archive. And it works now, just as described. Maybe still had a previous version which I didn't realize. Well whatever it was, no matter now. Really appreciate this. Can't thank you enough.
Posted by Stuart P79 on 11/18/2015 at 5:09 AM
I've run it on several other PCs than my own without problem. It shouldn't matter which directory it runs from. Which edition of Windows 10 are you running it on? I've looked at the NSIS help page for that error and it simply suggests it's corrupt. Can you try redownloading?
Posted by Dreamcat4 on 11/17/2015 at 1:22 PM
Stuart P79 - what folder do you run this program from? When I launch it from my Desktop, it does nothing. Procmon.exe shows it's been trying to open up files in same dir like 'verison.dll' and 'ole.dll'. When I copy your PinTo10.exe --> System32 folder. Then I get a different error. A little alert box pops up saying "NSIS Error" - "Error Launching Installer". So it seems like something it requires to run is missing on my system (which you have on yours).
Posted by Stuart P79 on 11/17/2015 at 12:37 PM
Or you could just put it in the all users startup folder. It does no harm if it runs multiple times although it's not ideal.
Posted by Dreamcat4 on 11/17/2015 at 12:08 PM
Yeah I do that too (RunOnce). I suppose it can be done for the existing users too.
Posted by Stuart P79 on 11/17/2015 at 9:06 AM
Dreamcat4, I'm not entirely sure I follow you. I use SCCM and MDT to deploy and build my images. I simply add a batch file or command line to the default user RunOnce registry key so that it pins the desired apps on first login to the user account. It has to be run as an interactive user.

Updated version that allows you to specify multiple pins in one command line...

https://www.dropbox.com/s/yu1280tmtedqtxu/PinTo10_1.2.zip?dl=0
Posted by Dreamcat4 on 11/17/2015 at 5:00 AM
Stuart P79,
Your new workaround looks very promising, and it's very much appreciated. But is there any way it can be modified to work for non-logged in user? The thing is I am provisioning remotely via ansible. So everything must be run automatically from the the `ansible` user account. Without there being an interactice login session. It has full admin priviledges.
Posted by Stuart P79 on 11/14/2015 at 8:41 AM
I've posted something I've scripted in the "Workarounds" section. As I expected the function has been hidden from the high-level scripting interfaces but it can still be worked with if you get a bit closer to the code. I can't take too much credit - I've just forced something that was never designed for this purpose to do the job for me. Hopefully it will work for you too.

Stuart
Posted by Misha Rudiy on 11/6/2015 at 3:53 PM
StuartP79, I have noticed that chrome pins to taskbar, during my imaging task. That might be due to the fact that my wim has no updates. I suspect that after an update, new users would not get the pin because the option to add to taskbar from chrome stops working after updates. Are you seeing anything specific in the Active Setup? Chrome sets an upgrade task in the task scheduler that triggers off of login, that might pin somehow but I think it might still use the vb method. Additionally I think it is making a Jump list, not just a standard link pin. There is an MSDN blog post on how to programatically create jump lists http://blogs.technet.com/b/heyscriptingguy/archive/2012/02/25/learn-how-to-use-powershell-to-configure-jump-lists.aspx but it is fairly old. I tested on an x64 machine and it didn't seem to work.
Posted by Stuart P79 on 11/6/2015 at 11:13 AM
I have tried the OEM work around...
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\TBDEn" /v SBOEM0
... and it does seem to work for new user accounts but only seems to work for 2 or 3 pins and after that it seems to go wrong / missing. I'm going to try and keep testing but I think it has severe limitations.

One thing I thought I'd mention is that when you install Google Chrome Enterprise for all users there is an Active Setup component that pins Chrome to the taskbar so there is an API for it somewhere. Maybe it's not available via VBS or Powershell but there must be a way in to automate it.
Posted by alanplum on 11/6/2015 at 2:49 AM
This is still not fixed in build 10586

kanmakki, your statement is completely wrong. "Pin to taskbar" does not exist anywhere in either 32 or 64 bit if you are fully windows updated.
Posted by kanmakki on 11/5/2015 at 9:31 PM
It seems like 32bit OS does not have "pin to taskbar".
But 64 bit OS have "pin to taskbar" and the script works properly.
Posted by GJHardie on 11/3/2015 at 11:05 AM
Having exactly the same issues as the rest of you. It currently appears that Microsoft stance is that this is a "User only configurable setting" …plugging the holes that has allowed us to programmatically change items pinned to the Taskbar. Having said that, speaking to a previous post, it’s not just enterprises that want to take advantage of this functionality.

This has been raised through the TAP programme and hopefully will gain some traction to get the decision reversed. Here’s hoping, but not holding my breath.
Posted by BobUUPD on 10/28/2015 at 5:08 PM
I was in great hopes that MS would have fixed this problem in future builds. I just installed (10565.th2_release.151006-2014) and it's still "broken" :/
I don't think I will hold my breath for a fix in ("Threshold R2" · 10568) either

&Open
Run as &administrator
&Pin to Start
Restore previous &versions

Cu&t
&Copy
Create &shortcut
&Delete
Rena&me
P&roperties
Posted by ThiloL on 10/27/2015 at 9:41 AM
My colleague would say: Microsoft knows shit about enterprise computing.
Posted by BobUUPD on 10/26/2015 at 2:52 PM
I have spent the last two days trying everything imaginable. My conclusion; Microsoft does not think about Enterprise users when they pull these kinds of functions out. This is a sad situation that should have been resolved ages ago. Come on MS, FIT IT!!!
Posted by MGranstrom on 10/21/2015 at 9:04 AM
How else is an enterprise supposed to initially configure a default taskbar for our users? For now we plan on stripping everything off of the taskbar and leaving it initially blank. It'd be better for us to be able to add some office apps and IE, but that doesn't appear to be possible at this point.
Posted by Dreamcat4 on 10/13/2015 at 5:38 AM
The thing about that response is that it is entirely incorrect: I am a user. And I want to script or otherwise programmatically change my taskbar. With pinning / unpinning. The assumption that all users want to only manipulate their systems purely through the GUI is not only outdated, it's also an incredibly conceited and backwards attitude. Likening users to children, or who are simply incapable of performing tasks any other way and so forth. Actually I'm personally insulted by those comments, as being made by a Microsoft Employee. This should not be something for enterprise users only. I disagree with that view also.
Posted by Karsten Kongstad Jakobsen on 10/13/2015 at 3:23 AM
Have just recieved this reply from MS support:

"The items that are pinned to the Start menu or taskbar is a user preference. Applications should not be overriding the user’s preferences. In the long term, programmatically pinning items to the taskbar or Start menu in Windows 10 will not be supported. Only the user will be able to pin items."

So it is no longer supported to pin/unpin items in the taskbar.... We will now to make a request for change the enable programmatic pinning and unpinning of programs in the Enterprise edition of Windows 10, and/or using group policies.
Posted by Misha Rudiy on 10/5/2015 at 10:25 AM
This seems to manifest itself with current critical update KB3093266. Once the update is removed, the "Pin to tas&kbar" verb name is available and the pin-item works. According to the Microsoft update catalog, update KB3093266 replaces a bunch of updates listed below which include KB3081448, KB3081444, KB3081424 that people have also reported problems with. So the presence of any of the updates below could potentially break the taskbarpin verb.

Cumulative Update for Windows 10 for x64-based Systems (KB3074659)
Cumulative Update for Windows 10 for x64-based Systems (KB3081424)
Cumulative Update for Windows 10 for x64-based Systems (KB3081436)
Cumulative Update for Windows 10 for x64-based Systems (KB3081438)
Cumulative Update for Windows 10 for x64-based Systems (KB3081444)
Cumulative Update for Windows 10 for x64-based Systems (KB3081448)
Cumulative Update for Windows 10 for x64-based Systems (KB3081455)
Cumulative Update for Windows 10 for x64-based Systems (KB3095020)
Security Update for Windows 10 for x64-based Systems (KB3074661)
Security Update for Windows 10 for x64-based Systems (KB3074663)
Security Update for Windows 10 for x64-based Systems (KB3074665)
Security Update for Windows 10 for x64-based Systems (KB3074681)
Security Update for Windows 10 for x64-based Systems (KB3074683)
Posted by Minutemaid on 10/2/2015 at 9:36 AM
I too am having issues making this work in Windows 10 Enterprise with the latest updates.
Posted by don450p on 9/29/2015 at 5:10 AM
I have also seen this issue.
I have Windows 10 Enterprise x64 installed with 'Package_for_KB3081448 neutral amd64 10.0.1.0' package installed

$shell = New-Object -com "Shell.Application"

$folder2 = $shell.Namespace(${env:ProgramFiles(x86)}+"\Internet Explorer")

$item2 = $folder2.Parsename('iexplore.exe')



This creates my object and I can check the verbs.



If Internet Explorer is pinned to the taskbar here is the output.



$item2.Verbs()

Application Parent Name                    
----------- ------ ----                    
                    &Open                    
                    Run as &administrator    
                    Un&pin from Start        
                    Unpin from tas&kbar    
                    Restore previous &versions
                                            
                    Cu&t                    
                    &Copy                    
                    Create &shortcut        
                    &Delete                
                    Rena&me                
                    P&roperties



If it is not pinned here is the output



$item2.Verbs()

Application Parent Name                    
----------- ------ ----                    
                    &Open                    
                    Run as &administrator    
                    Un&pin from Start        
                    Restore previous &versions
                                            
                    Cu&t                    
                    &Copy                    
                    Create &shortcut        
                    &Delete                
                    Rena&me                
                    P&roperties        


Notice that the Pin to taskbar option does not exist. When the file is right clicked this option does exist and does work.


Posted by -Mr Happy- on 9/26/2015 at 8:57 AM
Tried on the latest Insider build of Windows 10 10547 still the same no pin to taskbar.
Posted by Jaap Brasser on 8/27/2015 at 12:12 PM
I also experience this, today I was working with Pin to Taskbar and noticed that on some clients it worked as intended while a client with the most recent updates fails. Is this behavior documented anywhere?
Posted by John Lore on 8/27/2015 at 9:36 AM
I have 2 imaged computers both Windows 10 Pro Build 10240. Same updates installed on both as they were deployed from SCCM. (KB3081441, KB3087916, KB3081444)

One machine has the verb "Pin to tas&kbar" one doesn't. It appears in the menu for both systems.

Both systems have registry keys:
HKEY_CLASSES_ROOT\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}\ImplementsVerbs: taskbarpin;taskbarunpin
Posted by Shane Gerrish on 8/10/2015 at 8:22 PM
I am having the same issue. It appears to be the latest cumulative update that has caused the issue.
If I install an RTM Win10 Enterprise without any updates, the "Pin to Taskbar" script works correctly and the verb is available.
Once I update with KB3081424, the "Pin to Taskbar" script fails as the verb is not shown in the list of verbs any more (although is visible when I right-click the shortcut).

So it looks like the update broke that functionality. Hopefully a future update might fix it...
Posted by СΣЧΗUП ΘZGΣП on 8/10/2015 at 7:09 AM
yes, having same issue. i test it with vbs script one windows 10 work, but i have second machine with windows 10 this one not work.

Dim strFolder, strExecutable
Set objShell = CreateObject("Shell.Application")

strFolder = "c:\windows\"
strExecutable = "notepad.exe"

Set objFolder = objShell.Namespace(strFolder)
Set objFolderItem = objFolder.ParseName(strExecutable)

Set colVerbs = objFolderItem.Verbs

For Each objVerb In colVerbs
    If objVerb <> "" Then
        WScript.Echo objVerb.Name
    End If
Next
Posted by Tom.DV on 7/31/2015 at 3:35 AM
I'm having the very same issue.
It does not return an error, yet does not execute the taskbarpin either!
Is programmatically pinning to the taskbar even possible in Windows 10, and if so, how?
Posted by DHilgarth on 7/30/2015 at 9:31 AM
Yes, the code I posted in the description doesn't return an error. It simply doesn't do anything as it seems.
Posted by Christian.Bari on 7/30/2015 at 8:50 AM
then code like this:
(New-Object -ComObject shell.application).Namespace('C:\Windows\System32\WindowsPowershell\v1.0\').parsename('powershell.exe').invokeverb('TaskbarPin') returns no error but no pin is done.
Posted by Christian.Bari on 7/30/2015 at 8:48 AM
in the registry the key HKEY_CLASSES_ROOT\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}have the right value for ImplementsVerbs: taskbarpin;taskbarunpin.