
Les administrateurs doivent parfois épingler par programme certaines applications ou raccourcis vers des dossiers et d’autres éléments dans la barre des tâches des utilisateurs Windows. La façon dont les applications et les éléments épinglés sont gérés dans la barre des tâches a changé à chaque nouvelle version de Windows. En particulier, nous avons constaté que la plupart des scripts précédemment utilisés pour épingler ou désépingler des icônes d’application dans la barre des tâches, qui fonctionnaient dans les versions précédentes, ne fonctionnent pas sous Windows 11. Dans cet article, je couvrirai plusieurs scripts PowerShell qui peuvent être utilisés pour épingler ou désépingler des éléments dans la barre des tâches dans Windows 11 25H2.
shell:::{4234d49b-0245-4df3-b780-3893943456e1} interface d’espace de noms via l’interface Shell COM pour épingler par programme des raccourcis vers la barre des tâches Windows. Cet espace de noms est disponible dans toutes les versions de Windows et contient tous les éléments qui peuvent être épinglés ou désépinglés dans la barre des tâches. Vous pouvez même accéder à ce chemin dans l’Explorateur de fichiers. Cependant, sous Windows 11, cet espace de noms ne peut être utilisé que pour désépingler les éléments de la barre des tâches (voir ci-dessous).
Avant la sortie de Windows 10 21H2, il était possible d’utiliser l’interface d’espace de noms via l’interface Shell COM pour épingler par programme des raccourcis vers la barre des tâches Windows. Cet espace de noms est disponible dans toutes les versions de Windows et contient tous les éléments qui peuvent être épinglés ou désépinglés dans la barre des tâches. Vous pouvez même accéder à ce chemin dans l’Explorateur de fichiers. Cependant, sous Windows 11, cet espace de noms ne peut être utilisé que pour désépingler les éléments de la barre des tâches (voir ci-dessous).
Auparavant, il était également possible de copier les raccourcis requis dans le répertoire %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar afin de les épingler à la barre des tâches. Sous Windows 11, la copie manuelle des raccourcis dans le dossier \User Pinned\TaskBar ne fonctionne pas non plus (bien qu’en fait, ce dossier stocke les raccourcis vers les applications épinglées).
Il semble que Microsoft ferme délibérément toutes les méthodes logicielles permettant d’épingler des raccourcis sur la barre des tâches sans que les utilisateurs s’en rendent compte. On suppose que les utilisateurs peuvent uniquement épingler manuellement des éléments dans la barre des tâches.

Comment épingler des applications à la barre des tâches sous Windows à l’aide de PowerShell
Pour déployer une mise en page personnalisée avec des applications épinglées dans la barre des tâches de Windows 11, vous pouvez utiliser un fichier spécial « LayoutModification.xml ». Vous pouvez appliquer un fichier XML décrivant les éléments épinglés dans la barre des tâches via la stratégie de groupe. Cependant, cette approche n’est pas flexible dans les cas où vous devez, par exemple, épingler une application sur la barre des tâches d’un utilisateur spécifique après son installation. 
Le script PowerShell suivant crée un raccourci ( .lnk ) vers l’application cible dans le menu Démarrer (il peut s’agir de n’importe quelle application installée ou portable). Le script génère ensuite un fichier de présentation XML temporaire pour la barre des tâches dans le balisage LayoutModificationTemplate avec un raccourci vers l’application et l’enregistre dans le profil utilisateur (%AppData%\Microsoft\Windows\Shell\LayoutModification.xml ). Après le redémarrage, l’Explorateur Windows lit et applique la disposition de la barre des tâches à partir du fichier XML. Après avoir appliqué la disposition de la barre des tâches, le script réinitialise le cache des modèles et supprime le fichier XML, déverrouillant ainsi la disposition.
` $PinnedAppName=“tcpview64”$PinnedExePath=“C:\Tools\tcpview64.exe”$PinnedLnkPath="$env:APPDATA\Microsoft\Windows\Start Menu\Programs$PinnedAppName.lnk"if (-not (Test-Path $PinnedLnkPath)) {
$WshShell=New-Object-Com WScript.Shell
$app_shortcut=$WshShell.CreateShortcut($PinnedLnkPath)
$app_shortcut.TargetPath=$PinnedExePath
$app_shortcut.WorkingDirectory=Chemin partagé $PinnedExePath
$app_shortcut.IconLocation=$PinnedExePath
$app_shortcut.Save()
}
$xmlTemplate=@"
“@
$xmlPath="$env:LOCALAPPDATA\Microsoft\Windows\Shell\LayoutModification.xml”$xmlTemplate | Out-File-FilePath $xmlPath-Encoding UTF8-NoNewline
Remove-Item “$env:LOCALAPPDATA\Microsoft\Windows\Shell\DefaultLayouts” -Recurse-Force-ErrorAction SilentlyContinue
Arrêter le nom du processus explorateur-Force
Démarrer-Sommeil 6
Remove-Item $xmlPath-Force-ErrorAction SilentlyContinuer `

Contrairement à l’utilisation de GPO, cette méthode d’épinglage d’éléments vous permet d’éviter de fixer statiquement le raccourci de l’application vers la barre des tâches. Si les utilisateurs n’ont plus besoin d’une telle application épinglée, ils peuvent la désépingler eux-mêmes et elle ne reviendra pas dans la barre des tâches la prochaine fois qu’ils se connecteront.
La syntaxe utilisée dans le fichier XML dépend du type d’application épinglée :
- Pour les applications Win32 classiques : —
(spécifiez soit le chemin d’accès à l’exécutable de l’application, soit son AppID, tel que renvoyé par la commandeGet-StartApps) - Pour les applications Microsoft Store (UWP) :
, spécifiez le nom de l’application au lieu de son chemin.
Pour épingler une application du Microsoft Store, vous devez obtenir son nom :
Get-AppxPackage-AllUsers| sélectionnez PackageFamilyName
Spécifiez le nom et l'« AppID » (Application User Model ID, AUMID) de l’application dans les variables. Dans cet exemple, je souhaite épingler l’application Windows Terminal :
$AppName="Terminal Windows"$AppID="Microsoft.WindowsTerminal\_8wekyb3d8bbwe!App"
Pour épingler une application du Microsoft Store, remplacez la ligne « » dans le XML par ce qui suit :
Détachez les applications de la barre des tâches dans Windows 11 avec PowerShell
Il est beaucoup plus facile de détacher une application de la barre des tâches lorsque vous utilisez PowerShell. Tout d’abord, répertoriez les programmes enregistrés, les consoles de gestion et les applications du Microsoft Store qui peuvent être épinglés dans la barre des tâches.
` $shell=Nouvel-Objet-Com Shell.Application
$shell.Namespace(‘shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | Sélectionnez Nom `

Copiez le nom court du programme que vous souhaitez désépingler. Pour détacher une application spécifique de la barre des tâches à l’aide de PowerShell, exécutez le script suivant :
$appname="tcpview64"((New-Object-Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$\_.Name-eq $appname}).Verbs() | ?{$\_.Name.replace('&','')-match 'Détacher de la barre des tâches'} | %{$\_.DoIt(); $exec=$vrai}
Vérifiez si l’application épinglée a disparu de la barre des tâches.
![]()
*️⃣ Lien source :
disposition avec des applications épinglées dans la barre des tâches de Windows 11, Get-AppxPackage,