Comment créer un raccourci à l’aide de PowerShell

Je veux créer un raccourci avec PowerShell pour cet exécutable:

C:\Program Files (x86)\ColorPix\ColorPix.exe 

Comment cela peut-il être fait?

    Je ne connais aucune applet de commande native dans powershell mais vous pouvez utiliser à la place un object com:

     $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("$Home\Desktop\ColorPix.lnk") $Shortcut.TargetPath = "C:\Program Files (x86)\ColorPix\ColorPix.exe" $Shortcut.Save() 

    vous pouvez créer un script powershell enregistré en tant que set-shortcut.ps1 dans votre $ pwd

     param ( [ssortingng]$SourceExe, [ssortingng]$DestinationPath ) $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($DestinationPath) $Shortcut.TargetPath = $SourceExe $Shortcut.Save() 

    et l’appeler comme ça

    Set-ShortCut "C:\Program Files (x86)\ColorPix\ColorPix.exe" "$Home\Desktop\ColorPix.lnk"

    Si vous voulez passer des arguments à l’exe cible, cela peut être fait par:

     'Set the additional parameters for the shortcut $Shortcut.Arguments = "/argument=value" 

    avant $ Shortcut.Save ().

    Pour plus de commodité, voici une version modifiée de set-shortcut.ps1. Il accepte les arguments comme second paramètre.

     param ( [ssortingng]$SourceExe, [ssortingng]$ArgumentsToSourceExe, [ssortingng]$DestinationPath ) $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($DestinationPath) $Shortcut.TargetPath = $SourceExe $Shortcut.Arguments = $ArgumentsToSourceExe $Shortcut.Save() 

    À partir de PowerShell 5.0 New-Item , Remove-Item et Get-ChildItem ont été améliorés pour prendre en charge la création et la gestion de liens symboliques. Le paramètre ItemType pour New-Item accepte une nouvelle valeur, SymbolicLink. Vous pouvez maintenant créer des liens symboliques sur une seule ligne en exécutant l’applet de commande New-Item.

     New-Item -ItemType SymbolicLink -Path "C:\temp" -Name "calc.lnk" -Value "c:\windows\system32\calc.exe" 

    Soyez prudent si un SymbolicLink est différent d’un raccourci , les raccourcis ne sont qu’un fichier. Ils ont une taille (une petite, qui fait simplement référence à l’endroit où ils pointe) et ils ont besoin d’une application pour prendre en charge ce type de fichier afin d’être utilisé. Un lien symbolique est au niveau du système de fichiers et tout le voit comme le fichier original. Une application ne nécessite aucun support particulier pour utiliser un lien symbolique.

    Quoi qu’il en soit, si vous souhaitez créer un raccourci Run As Administrator en utilisant Powershell, vous pouvez utiliser

     $file="c:\temp\calc.lnk" $bytes = [System.IO.File]::ReadAllBytes($file) $bytes[0x15] = $bytes[0x15] -bor 0x20 #set byte 21 (0x15) bit 6 (0x20) ON (Use –bor to set RunAsAdministrator option and –bxor to unset) [System.IO.File]::WriteAllBytes($file, $bytes) 

    Si quelqu’un veut changer quelque chose d’autre dans un fichier .LNK, vous pouvez vous référer à la documentation officielle de Microsoft .