Necesitamos tu apoyo para extender nuestros posts con relación a las ciencias de la computación.
Solución:
No conozco ningún cmdlet nativo en PowerShell, pero puede usar el objeto com en su lugar:
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$HomeDesktopColorPix.lnk")
$Shortcut.TargetPath = "C:Program Files (x86)ColorPixColorPix.exe"
$Shortcut.Save()
puede crear un script de powershell guardado como set-shortcut.ps1 en su $pwd
param ( [string]$SourceExe, [string]$DestinationPath )
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($DestinationPath)
$Shortcut.TargetPath = $SourceExe
$Shortcut.Save()
y llámalo así
Set-ShortCut "C:Program Files (x86)ColorPixColorPix.exe" "$HomeDesktopColorPix.lnk"
Si desea pasar argumentos al exe de destino, puede hacerlo de la siguiente manera:
#Set the additional parameters for the shortcut
$Shortcut.Arguments = "/argument=value"
antes de $Acceso directo.Guardar().
Para mayor comodidad, aquí hay una versión modificada de set-shortcut.ps1. Acepta argumentos como su segundo parámetro.
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()
A partir de PowerShell 5.0 New-Item
, Remove-Item
y Get-ChildItem
se han mejorado para admitir la creación y gestión de enlaces simbólicos. los Tipo de artículo parámetro para New-Item
acepta un nuevo valor, SymbolicLink. Ahora puede crear enlaces simbólicos en una sola línea ejecutando el cmdlet New-Item.
New-Item -ItemType SymbolicLink -Path "C:temp" -Name "calc.lnk" -Value "c:windowssystem32calc.exe"
Ten cuidado a Enlace simbólico es diferente de un Atajo, los accesos directos son solo un archivo. Tienen un tamaño (uno pequeño, que solo hace referencia a donde apuntan) y requieren una aplicación que admita ese tipo de archivo para poder usarse. Un enlace simbólico está a nivel del sistema de archivos y todo lo ve como el archivo original. Una aplicación no necesita un soporte especial para usar un enlace simbólico.
De todos modos, si quieres crear un Ejecutar como administrador atajo usando Powershell que puedes usar
$file="c:tempcalc.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 alguien quiere cambiar algo más en un archivo .LNK, puede consultar la documentación oficial de Microsoft.
Te mostramos comentarios y calificaciones
Eres capaz de añadir valor a nuestro contenido contribuyendo tu veteranía en las ilustraciones.