Welcome › Forums › General PowerShell Q&A › PowerShell command to PIN apps to Windows taskbar
- This topic has 1 reply, 2 voices, and was last updated 4 months, 3 weeks ago by
Participant.
-
AuthorPosts
-
-
September 5, 2020 at 11:31 pm #254813
I’m looking for a PowerShell command or script that will pin these applications that I commonly use to the Windows taskbar at the bottom of Windows. (I have included the path to these programs):
1. Computer management. Path: %windir%\system32\compmgmt.msc
2. The Windows PowerShell icon. Path: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe
3. The Task Scheduler icon Path: %windir%\system32\taskschd.msc
4. The command prompt icon. Path: %windir%\system32\cmd.exe
5. The Internet Information Services (IIS) Manager icon. Path: %windir%\system32\inetsrv\InetMgr.exe
6. The Notepad icon. Path: %windir%\system32\notepad.exe
This script will mostly be used in environments where I don’t have access to Active Directory or Group Policy but where I can have the AD team put in a PowerShell script to run one time on several servers or where I will be running this PowerShell script whenever necessary on the individual servers and workstations that I am customizing.
Someone wrote the following script which needs just a few more modifications until it will work properly:
PowerShell1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677function New-ShortCut {[cmdletbinding()]Param([parameter(Mandatory)][ValidateScript( { Test-Path -path $_ })][string] $sourceExe,[parameter(ValueFromPipelineByPropertyName)][string]$Arguments,[parameter(ValueFromPipelineByPropertyName)][ValidateScript( {(Test-Path -path $_) -and ( (Get-Item -path $_).PSIsContainer )})][string]$WorkingDirectory,[parameter(ValueFromPipelineByPropertyName)][string] $DestinationLinkName = ‘{0}\temp.lnk’ -f [environment]::GetFolderPath(“desktop”),[parameter(ValueFromPipelineByPropertyName)][ValidateSet(‘Default’, ’Maximized’, ’Minimized’)][string]$WindowStyle = ‘Default’,[parameter(ValueFromPipelineByPropertyName)][ValidateScript( { Test-Path -path $_ })][string]$IconPath,[parameter(ValueFromPipelineByPropertyName)][ValidateScript( { $null -ne $IconPath })][int]$IconIndexNumber,[parameter(ValueFromPipelineByPropertyName)][string]$HotKeyString)$wshShell = New-Object -ComObject WScript.Shell$WindowStyles = @{Default = 1Maximized = 3Minimized = 7}$shortcut = $wshShell.CreateShortcut( $DestinationLinkName )$shortcut.TargetPath = $sourceExeif ($arguments) { $shortcut.Arguments = $Arguments }if ($WorkingDirectory) { $shortcut.WorkingDirectory = $WorkingDirectory }if ($WindowStyle) { $shortcut.WindowStyle = $WindowStyles.$WindowStyle }if ($HotKeyString) { $shortcut.Hotkey = $HotKeyString }if ($IconPath) {if ($IconIndexNumber) {$shortcut.IconLocation = ‘{0},{1}’ -f $IconPath, $IconIndexNumber}else {$shortcut.IconLocation = $IconPath}}try {$shortcut.Save()}catch {$_.Exception.Message}$null = [System.Runtime.InteropServices.Marshal]::ReleaseComObject($wshShell)}.\New-ShortCut -sourceExe ‘c:\windows\System32\mmc.exe’ -arguments ‘compmgmt.msc’ -DestinationLinkName $env:userprofile\desktop\ComputerManagement.lnk.\New-Shortcut -sourceExe ‘c:\windows\system32\windowspowershell\v1.0\powershell.exe’ -DestinationLinkName $env:userprofile\desktop\powershell.lnk-
This topic was modified 4 months, 3 weeks ago by
kvprasoon. Reason: code formatting
-
This topic was modified 4 months, 3 weeks ago by
-
September 6, 2020 at 1:55 am #254825
See my response to your cross-post here:
-
-
AuthorPosts
- The topic ‘PowerShell command to PIN apps to Windows taskbar’ is closed to new replies.