IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows 11 Discussion :

Attacher un script PowerShell à la barre des tâches


Sujet :

Windows 11

  1. #1
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 3 388
    Par défaut Attacher un script PowerShell à la barre des tâches
    Bonjour tout le monde,

    J'ai écrit un script PowerShell qui m'affiche juste ce dont j'ai besoin.

    Avec une pause dedans, dans le menu contextuel de l'icône je trouve "Attacher à la barre des tâches".

    Très bien, seulement le raccourci obtenu s'appelle "Terminal".

    Si j'applique aussi le principe à d'autres applications, je me vois bien avoir une quinzaine de raccourcis "Terminal" dans la barre des tâches, pour des sujets complètement différents.

    Qu'est-ce que ça va être pratique.

    La seule façon que j'aie trouvée d'obtenir un raccourci dont l'infobulle affiche TestCat a été de créer un programme WinForms du même nom, qui appelle le script PowerShell. Même un programme console, ça ne marche pas.

    Moui, j'aurais aussi vite fait de programmer la même chose en C#, non ?

    Je ne suis pas sûr que ça aurait été judicieux de poser ma question dans un forum PowerShell ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            [STAThread]
            static void Main()
            {
                // To customize application configuration such as set high DPI settings or default font,
                // see https://aka.ms/applicationconfiguration.
                ApplicationConfiguration.Initialize();
                //Application.Run(new Form1());
                string ps1File = "C:\\Scripts\\PowerShell\\TestCat.ps1";
                ProcessStartInfo startInfo = new ProcessStartInfo
                {
                    FileName = "powershell.exe",
                    Arguments = $"-NoProfile -ExecutionPolicy ByPass -File \"{ps1File}\"",
                    UseShellExecute = false,
                };
                Process.Start(startInfo);
    
            }
    Ça fonctionne impec, mais je me demande si conceptuellement ça ne serait pas un peu lourd ...

    N.B. Il faut afficher le formulaire une fois, le temps d'attacher l'application à la barre des tâches.

  2. #2
    Inactif  
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    Février 2026
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Février 2026
    Messages : 1
    Par défaut
    L'idée de créer une application entière juste pour ça peut paraître un peu excessive, surtout si tu n’as besoin que d’une petite action comme lancer un script.

    Cela dit, le problème vient de la façon dont Windows gère les raccourcis. Le système veut probablement un programme avec une interface graphique, ce qui explique pourquoi un programme console n'est pas reconnu de la même manière. Si tu veux éviter la complexité d'un projet WinForms tout en personnalisant le nom du raccourci, il y a peut-être des alternatives comme créer un fichier batch ou un raccourci directement vers PowerShell, mais cela pourrait limiter les options de personnalisation.

    Si tu cherches une solution plus légère, peut-être pourrais-tu explorer des outils de script plus orientés "interface utilisateur légère" ou utiliser un petit utilitaire comme AutoHotkey pour lancer le script sans avoir besoin d’une application complète.

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 3 388
    Par défaut
    Bonjour,

    Le batch j'ai essayé, ça m'ouvre un raccourci vers Terminal, avec le logo correspondant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Scripts\PowerShell\TestCat.ps1
    PAUSE
    Après j'ai vu que PAUSE fait double emploi avec la pause que j'ai mise dans le script.

    Après effectivement on a la solution de ne pas juste "créer une application entière juste pour ça", mais d'en plus aborder un nouveau langage juste pour ça.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 645
    Par défaut
    Cela dit, le problème vient de la façon dont Windows gère les raccourcis. Le système veut probablement un programme avec une interface graphique, ce qui explique pourquoi un programme console n'est pas reconnu de la même manière.
    Absolument pas.
    Les "raccourcis/liens", ça existait même avant que Windows soit un OS (Win95).
    Le fait de "customiser" les icônes affairant, c'est de base depuis les années 80.
    La technologie a bien évolué depuis et la manière d'y associer des icônes aussi.

    Mais c'est quoi le nœud du "problème" ?

    Avoir un icône custom sur le raccourci/lien ???

  5. #5
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 3 388
    Par défaut
    Bonjour,

    Comme j'ai essayé de dire, le nœud est d'éviter de se retrouver avec une dizaine de raccourcis sur la barre des tâches, sans aucun indice de ce qu'ils font.

    Une infobulle explicite est le minimum, le nom de programme pouvant faire l'affaire dans ce cas, et pendant qu'on y est si c'est possible une icône associée ne gâche rien. Alors qu'une dizaine de raccourcis sur "Invite de commandes", dont l'un affiche l'état d'un répertoire, un autre celui des ressources réseau, un troisième autre chose encore, c'est nettement moins exploitable, surtout avec une barre des tâches qui refuse obstinément de conserver l'ordre des icônes.

    Avec WinForms on a ces points de repère sans problème, avec un programme console ou un script PowerShell ce n'est pas implicite.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 645
    Par défaut
    Je comprends pas le problème.

    Je regarde dans ma barre des tâches un raccourci vers un programme lambda.
    J'ai un "propriétés" dans son menu contextuel. je le sélectionne.
    Ca m'ouvre une fenêtre de propriétés.
    J'ai un onglet "Raccourci", je le sélectionne.
    J'ai un bouton en bas de la fenêtre qui porte le texte "Changer d'icône ...", cela m'ouvre une fenêtre "Changer d'icône".
    Dans cette fenêtre, il y a un "fileBrowser" pour sélectionner un fichier en haut, et en "bas", il y a la liste des icônes qui sont dans les ressources du fichier sélectionné plus haut.
    Vous pouvez donc mettre n'importe quel icône qui a été mis en ressource de n'importe quel module "exécutable".
    J'ai même pas testé si les .ico sont pas directement utilisables.

    Enfin, bref, c'est toujours aussi con que dans les années 80, au moins pour les utilisations "de base".

  7. #7
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 3 388
    Par défaut
    De mon côté, après avoir attaché un programme en ligne de commandes (en l'occurrence un script PowerShell), dans son menu contextuel j'ai ça :

    Nom : menu contextuel programme ligne commande.jpg
Affichages : 185
Taille : 118,7 Ko

  8. #8
    Membre Expert
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 96
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 766
    Par défaut
    Ah oui, il te manque "propriétés", mais tu peux quand même retrouver ton raccourci ici ->
    "%userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar"
    PS: chemin windows 10

  9. #9
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 3 388
    Par défaut
    Bonjour, merci.

    C''est effectivement une piste de recherche, que toutefois il va falloir suivre.

    En Windows 11 le chemin existe aussi et j'ai reconnu des raccourcis dedans.

    J'ai tenté deux voies :
    • créer un raccourci dans le répertoire de scripts, et de là le copier vers le répertoire de barre de tâches
    • modifier le raccourci de console, pour le faire pointer vers le script, avec une icône, que je serais tenté de qualifier de "toute neuve", même si c'est relatif


    Le premier n'est pas apparu au démarrage.
    Le deuxième ... en ce moment je ne le vois pas, il me semble l'avoir vu une fois, qui pointait bien vers le script, mais avec l'infobulle et l'icône de Terminal.

    Ça peut finir par aboutir, mais manifestement avant il faut y croire.

    Contrairement au raccourci WinForm, qui est resté en place du premier coup sans que j'aie à me poser de questions, et avec tout ce qu'il faut. Je n'ai pas tenté d'y mettre une icône personnalisée mais je ne suis pas inquiet à ce niveau.

    Microsoft Windows [version 10.0.26200.7840]
    Windows 11 25H2

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 645
    Par défaut
    Je ne comprends pas vos difficultés.
    Vous collez votre raccourci sur le script dans la barre des tâches.
    Si vous n'avez pas l'entré "propriétés..." dans le menu contextuel dur l'icône dans la barre des tâches, je vais avec un explorateur de fichier dans le répertoire indiqué par @kaitlyn et j'utilise le menu contextuel de l'explorateur pour sélectionner l'entrée "propriété'.

    Une fois dans la fenêtre de "Propriétés" :
    J'ai un onglet "Raccourci", je le sélectionne.
    J'ai un bouton en bas de la fenêtre qui porte le texte "Changer d'icône ...", cela m'ouvre une fenêtre "Changer d'icône".
    Dans cette fenêtre, il y a un "fileBrowser" pour sélectionner un fichier en haut, et en "bas", il y a la liste des icônes qui sont dans les ressources du fichier sélectionné plus haut.
    Vous pouvez donc mettre n'importe quel icône qui a été mis en ressource de n'importe quel module "exécutable".
    J'ai même pas testé si les .ico sont pas directement utilisables.
    Elle est où l'embrouille ????

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut
    Si jamais tu veux transformer ton ps1 en exe, le module ps2exe le fera très bien.
    Tu pourras épingler ton fichier exe dans ta barre des tâches.

    Lien du module :
    https://www.powershellgallery.com/packages/ps2exe

    Pour installer le module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Install-Module -Name ps2exe
    Si jamais tu n'a pas les droits, tu peux l'installer dans ton environnement utilisateur ($HOME\Documents\PowerShell\Modules) via la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Install-Module -Name ps2exe -Scope CurrentUser
    Une fois que tu as le module d'installé, tu utilises la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Invoke-ps2exe .\source.ps1 .\target.exe

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut
    ET sinon voici ma méthode pour attacher un scipt à ma barre des tâches.

    Imaginons que tu as ton script dans ton dossier téléchargement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\<ton_user>\Downloads\test.ps1
    Tu fais clic droit - nouveau raccourci et puis :

    1/ dans le champ Emplacement tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell.exe -WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass -File "C:\Users\<ton_user>\Downloads\test.ps1"
    2/ Tu nommes ton raccourci comme tu le souhaites.

    Une fois ton raccourci créé, tu fait clic droit dessus et épinglé à la barre des tâches.

    Une fois fais tu peux supprimer ton raccourci si tu le souhaites.

    Lorsque tu survoleras l'icone que tu viens d'épingler, tu auras l'info bulle avec ce que tu as mis dans le nom de ton raccourci lors de sa création.

  13. #13
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 3 388
    Par défaut
    Il a fallu que j'essaie pour me rendre compte, car j'avais l'impression que c'était ce que j'avais fait.

    En cliquant droit sur une application en cours d'exécution, dans la barre des tâches, pour actionner "attacher à la barre des tâches", on crée le raccourci directement dans le répertoire de la barre des tâches.

    Vous êtes deux à suggérer de modifier ses propriétés là, mais lorsque j'ai essayé ça n'a pas été suivi d'effet, il doit y avoir une subtilité à trouver.

    En créant le raccourci ailleurs avant de l'attacher à la barre des tâches, on peut agir plus facilement sur ses propriétés.

    Il apparaît que Windows requiert un exécutable pour pouvoir attacher un raccourci à la barre des tâches.

    Dans l'ordre, les idées qui sont venues :
    • faire appeler le script par un exécutable (par exemple écrit en C#)
    • convertir le script en exécutable (avec PS2EXEC)
    • le passer explicitement en argument de PowerShell, plutôt que confier ce soin à la gestion du type de fichiers ps1


    Et effectivement avec cette troisième manière j'ai pu obtenir un raccourci dans la barre des tâches. Pour changer son icône il a fallu que je m'y prenne à deux fois. La deuxième fois j'ai cliqué sur "Appliquer" avant "OK", soit c'est ça soit un "truc" m'a échappé.

    Alors il paraît qu'on peut supprimer le raccourci d'origine une fois l'attache dans la barre des tâches effectuée, mais là il vaut mieux ne pas souhaiter modifier ses propriétés ensuite. À moins de trouver la subtilité. Pour rafraîchir les icônes il y a par exemple IE4UINIT, peut-être pour les autres propriétés y a-t-il autre chose.

    J'aurais juré avoir essayé au départ de mettre PowerShell dans la ligne de commande, mais il faut croire que non.

    Merci à tous pour les réponses. Peut-être plus particulièrement à Misterg94 puisque j'ai pu mettre en œuvre sa réponse.

  14. #14
    Membre Expert
    Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    850
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 850
    Par défaut
    Pour changer son icône il a fallu que je m'y prenne à deux fois. La deuxième fois j'ai cliqué sur "Appliquer" avant "OK", soit c'est ça soit un "truc" m'a échappé.
    C'est bien ça, "Appliquer" puis "Ok". "Ok" simplement ne modifie rien.

  15. #15
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 3 388
    Par défaut
    Citation Envoyé par edgarjacobs Voir le message
    C'est bien ça, "Appliquer" puis "Ok". "Ok" simplement ne modifie rien.
    Eh eh, il m'avait bien semblé.
    J'ai pas mal marché hier alors j'ai un peu la flemme, autrement j'aurais essayé de vérifier si des fois ça ne serait pas à cause de ça que j'ai échoué à modifier un raccourci au départ, et que je me suis embarqué sur cette voie plus laborieuse.

    Il reste à retenir toutefois qu'un exécutable doit obligatoirement être explicitement mentionné dans la ligne de commande du raccourci, si on veut pouvoir le personnaliser quelque peu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] Besoin d'un script Powershell pour imprimer des pièces jointes d'e-mails Outlook
    Par m.fauvel dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 13/10/2022, 17h17
  2. [PowerShell] Script PowerShell pour déplacer des répertoires vers une nouvelle arborescence
    Par enki31 dans le forum Scripts/Batch
    Réponses: 50
    Dernier message: 03/01/2020, 10h09
  3. [SP-2010] Script Powershell pour récupérer des données
    Par jip31 dans le forum SharePoint
    Réponses: 1
    Dernier message: 28/04/2015, 14h21
  4. Réponses: 12
    Dernier message: 27/08/2014, 23h07
  5. Réponses: 22
    Dernier message: 03/08/2007, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo