Software Verknüpfung in die Taskleiste mit Powershell

Reinhard77

Lieutenant
Registriert
Feb. 2019
Beiträge
900
Hallo,

es soll unter Windows 10 eine Verknüpfung einer Software in die Taskleiste per Powershell Skript hinzugefügt werden.

Anhand dieser Anleitung habe ich eine .xml Datei erstellt, die dann mit

PowerShell:
Import-StartLayout -LayoutPath "nameDerDatei.xml" -MountPath "C:\"

hinzugefügt wird. Das funktioniert aber leider nicht und ich weiß nicht wo der Fehler liegt.
Wer weiß, wie ich dies lösen kann?

Auch habe ich mit "Export-StartLayout" das angepasste Menü, in die Datei als start2.bin exportiert und in das Verzeichnis

C:\Users\$Env:UserName\AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState

kopiert. Was leider auch nicht funktioniert hat.
 
Warum machst Du nicht eine Custom-Leiste anstatt der Default-Leiste und wirfst da alles rein, was Du brauchst (einfach die Verknüpfungen kopieren)?
 
@TorenAltair Ist das was ich mache keine Custom-Leiste? Bevor ich die Datei exportiert habe, habe ich die entsprechende Verknüpfung manuell in die Taskleiste gesetzt (.bin Datei) bzw. die .xml Datei als Custom Datei definiert. So gesehen ist die Default-Leiste gleich der Custom Leiste, da nur die eine Verknüfung in der Taskleiste sein soll und alles andere kann weg.

Du musst schon genauer werden, damit ich folgen kann, am besten mit einem Beispiel.
 
Zuletzt bearbeitet:
Und wie sieht die XML aus, die du gemacht hast?

Btw:
C:\Users\$Env:UserName => $Env:UserProfile
C:\Users\$Env:UserName\AppData\Local => $Env:LocalAppData
 
tollertyp schrieb:
Und wie sieht die XML aus, die du gemacht hast?

Hier (wobei die Verknüpfung auch auf dem Desktop liegt):

XML:
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6" />
    </StartLayoutCollection>
  </DefaultLayoutOverride>
</LayoutModificationTemplate>

<CustomTaskbarLayoutCollection PinListPlacement="Replace">   
   <defaultlayout:TaskbarLayout>   
     <taskbar:TaskbarPinList> 
    <taskbar:DesktopApp DesktopApplicationLinkPath="C:\Users\user\Desktop\einProgramm.lnk"/>   
     </taskbar:TaskbarPinList>   
   </defaultlayout:TaskbarLayout>   
</CustomTaskbarLayoutCollection>
 
Es ist nun gelöst.

Für die Taskleiste mit dem Tool syspin.exe:

PowerShell:
$pinProgram = "C:\Program Files (x86)\Programm.exe"     
$pinTool = "C:\Pfad...\syspin.exe"               
Start-Process -FilePath $pinTool -ArgumentList """$pinProgram"" 5386"

Und ins Startmenü mit:
PowerShell:
    if (!(Test-Path "HKCU:\Software\Policies\Microsoft\Windows\Explorer"))         
    {             
        New-Item -Path "HKCU:\Software\Policies\Microsoft\Windows" -Name "Explorer" | Out-Null             
        New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Explorer" -Name "LockedStartLayout" -Value "1" -Type DWord | Out-Null                             
    }           
    else           
    {           
        Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Explorer" -Name "LockedStartLayout" -Value "1" -Type DWord | Out-Null                           
    }       
      
    if (!(Test-Path "HKCU:\Software\Policies\Microsoft\Windows\Explorer"))         
    {             
        New-Item -Path "HKCU:\Software\Policies\Microsoft\Windows" -Name "Explorer" | Out-Null             
        New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Explorer" -Name "StartLayoutFile" -Value "C:\Pfad..\StartLayout.xml" -Type ExpandString | Out-Null                                                 
    }           
    else           
    {           
        Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Explorer" -Name "StartLayoutFile" -Value "C:\Pfad..\StartLayout.xml" -Type ExpandString | Out-Null                             
    }

Und für das Startmenü mit dieser .xml Datei
XML:
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6">
        <start:Group Name="">
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Programm.lnk" />
        </start:Group>
      </defaultlayout:StartLayout>
    </StartLayoutCollection>
  </DefaultLayoutOverride>
</LayoutModificationTemplate>
 
  • Gefällt mir
Reaktionen: tollertyp
Zurück
Oben