<p><strong>AVERTISSEMENT : Le script s’exécute sans confirmation ni retour. Il a fonctionné pour moi (voir PS2), mais je ne sais pas s’il fonctionnerait pour tout le monde.</strong></p>
<p>À partir de <a href="https://appuals.com/pin-unpin-application-windows-10/">ceci</a> et <a href="https://drive.google.com/file/d/0B9oZLqAezog6TFRPRmlkSjhLMUk/view">cela</a>, j’ai créé le script suivant, qui a fait l’affaire pour moi :</p>
<pre><code class="lang-auto">(New-Object -Com Shell.Application).
NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
Items() |
%{ $.Verbs() } |
?{$.Name -match 'Un.*pin from Start'} |
%{$_.DoIt()}
</code></pre>
<p>Il désépingle tous les programmes du menu Démarrer.</p>
<p>Pour un Windows non anglais, vous devriez probablement remplacer ‘Un.*pin from Start’ par une autre phrase.</p>
<p>Exécutez</p>
<pre><code class="lang-auto">(New-Object -Com Shell.Application).
NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
Items() |
%{ $_.Verbs() }
</code></pre>
<p>Pour vérifier la vôtre. En français : ‘&Désépingler de la page d’‘accueil’</p>
<p>PS : la commande précédente peut afficher une longue liste difficile à parcourir manuellement. Vous pourriez voir les actions pour une application connue dans l’écran de démarrage avec la commande (substituez le nom correspondant, pour moi c’était KeePass) :</p>
<pre><code class="lang-auto">(New-Object -Com Shell.Application).
NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
Items() | ?{$.Name() -match 'Keep.*'} |
%{ $.Verbs() }
</code></pre>
<p>PS2 : <span class="mention">@MarcoLackovic</span> a signalé que cela ne supprime pas tout. Récemment, j’ai eu l’occasion de l’essayer et effectivement, cela n’a pas tout supprimé. Ce qui restait étaient des références au Windows Store. Il semble que le script ne parcourt que les applications installées, donc il ne supprime pas les autres icônes. Je soupçonne qu’il saute aussi les documents épinglés, par exemple.</p>