Я не знаю ни одного собственного командлета в powershell, но вместо этого вы можете использовать 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()
вы можете создать скрипт powershell, сохраненный как set-shortcut.ps1 в вашем $ pwd
param ( [string]$SourceExe, [string]$DestinationPath )
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($DestinationPath)
$Shortcut.TargetPath = $SourceExe
$Shortcut.Save()
и назовите это так
Set-ShortCut "C:\Program Files (x86)\ColorPix\ColorPix.exe" "$Home\Desktop\ColorPix.lnk"
Если вы хотите передать аргументы целевому exe-файлу, это можно сделать:
'Set the additional parameters for the shortcut
$Shortcut.Arguments = "/argument=value"
до $ Shortcut.Save ().
Для удобства приведена модифицированная версия set-shortcut.ps1. Он принимает аргументы в качестве второго параметра.
param ( [string]$SourceExe, [string]$ArgumentsToSourceExe, [string]$DestinationPath )
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($DestinationPath)
$Shortcut.TargetPath = $SourceExe
$Shortcut.Arguments = $ArgumentsToSourceExe
$Shortcut.Save()