PowerShell : Comment créer un raccourci ?
I. Présentation
Le nombre de cmdlets PowerShell ne cesse d'évoluer au fil des versions, et les modules et scripts de la communauté permettent de l'enrichir encore et encore. La gestion des raccourcis est absente des cmdlets PowerShell, alors on est obliger de créer nos propres fonctions pour parvenir à créer un raccourci.
Dans ce tutoriel, nous allons voir au travers d'une fonction simple comment créer un raccourci en PowerShell, puis dans un second article, nous verrons comment modifier un raccourci existant en PowerShell.
II. New-Shortcut : le code PowerShell
Au sein de cette fonction, on va créer un nouvel objet COM de type "WScript.Shell". Ce type d'objet permet de manipuler des raccourcis, mais aussi le registre, d'exécuter un programme, etc.
On va donc créer cet objet et le configurer pour obtenir un raccourci, ce qui demande les étapes suivantes :
1 - Création de l'objet COM Wscript.Shell
2 - Indiquer un emplacement pour le raccourci (CreateShortcut)
3 - Indiquer une cible pour le raccourci (TargetPath)
4 - Sauvegarder le raccourci pour obtenir le fichier .lnk
Ce qui nous donne une fonction "New-Shortcut" avec deux paramètres : ShortcutFullName et ShortcutTarget, qui correspondent respectivement au chemin complet vers le fichier .lnk que vous souhaitez créer et à la cible du raccourci.
Voici le code :
Function New-Shortcut{ param( [parameter(Mandatory=$true)][string]$ShortcutFullName, [parameter(Mandatory=$true)][string]$ShortcutTarget ) $ShortcutObject = New-Object -comObject WScript.Shell $Shortcut = $ShortcutObject.CreateShortcut($ShortcutFullName) $Shortcut.TargetPath = $ShortcutTarget $Shortcut.Save() } # Function New-Shortcut
Par exemple, pour créer un raccourci "IT-Connect.lnk" dans "C:\Users\Florian\Desktop\", avec pour cible "https://www.it-connect.fr" on exécutera :
New-Shortcut -ShortcutFullName "C:\Users\Florian\Desktop\IT-Connect.lnk" -ShortcutTarget "https://www.it-connect.fr"
Le raccourci doit apparaître à l'endroit souhaité 🙂
Bonjour,
La création du raccourcie à été très bien expliqué mais je bloque j’essaie de créer des raccourcies en exploitant des fichiers CSV mais je n’arrive pas à insérer ma variable :
New-Shortcut -ShortcutFullName « C:\Users\$recupuser\Desktop\ »$var.nom ».lnk » -ShortcutTarget $var.cible
Merci d’avance pour votre aide
Avec
« `powershell
New-Shortcut -ShortcutFullName « C:\Users\$recupuser\Desktop\$($var.nom).lnk » -ShortcutTarget $var.cible
« `