Public/Add-ItemToTaskBar.ps1
function Add-ItemToTaskBar { param( [parameter(Mandatory=$true, Position=0)] [ValidateNotNullOrEmpty()] [string] $TargetFilePath ) try { if (test-path($TargetFilePath)) { $KeyPath1 = "HKCU:\SOFTWARE\Classes" $KeyPath2 = "*" $KeyPath3 = "shell" $KeyPath4 = "{:}" $ValueName = "ExplorerCommandHandler" $ValueData = (Get-ItemProperty ("HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Windows.taskbarpin")).ExplorerCommandHandler $Key2 = (Get-Item $KeyPath1).OpenSubKey($KeyPath2, $true) $Key3 = $Key2.CreateSubKey($KeyPath3, $true) $Key4 = $Key3.CreateSubKey($KeyPath4, $true) $Key4.SetValue($ValueName, $ValueData) $Shell = New-Object -ComObject "Shell.Application" $Folder = $Shell.Namespace((Get-Item $TargetFilePath).DirectoryName) $Item = $Folder.ParseName((Get-Item $TargetFilePath).Name) $Item.InvokeVerb("{:}") $Key3.DeleteSubKey($KeyPath4) if ($Key3.SubKeyCount -eq 0 -and $Key3.ValueCount -eq 0) { $Key2.DeleteSubKey($KeyPath3) } } } catch { Write-Warning "Unable to create pin. Error captured was $($_.Exception.Message)." } } |