PowerShell command to PIN apps to Windows taskbar

Viewing 1 reply thread
  • Author
    Posts
    • #1557789
      Dennis Stroble
      Participant
      Member Points: 161
      Rank: 2

      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:

      function 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     = 1
      
      Maximized   = 3
      
      Minimized   = 7
      
      }
      
       
      
      $shortcut = $wshShell.CreateShortcut( $DestinationLinkName )
      
      $shortcut.TargetPath = $sourceExe
      
       
      
      if ($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
    • #1560118
      Jake Blues
      Participant
      Member Points: 102
      Rank: 2

      I found the directory where these shortcuts are strored.
      It was a hidden directory:
      C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

      Maybe this is helpfull for you?

Viewing 1 reply thread
  • You must be logged in to reply to this topic.
© 4sysops 2006 - 2023

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account