started - what is windows powershell




Cómo crear un acceso directo usando PowerShell (2)

Quiero crear un acceso directo con PowerShell para este ejecutable:

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

¿Cómo puede hacerse esto?


No conozco ningún cmdlet nativo en powershell, pero puedes usar com object en su lugar:

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

puede crear un script de powershell guardar 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)\ColorPix\ColorPix.exe" "$Home\Desktop\ColorPix.lnk"

Si desea pasar argumentos al archivo ejecutable de destino, puede hacerlo de la siguiente manera:

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

antes de $ Shortcut.Save ().

Para su 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()

Se han mejorado los New-Item PowerShell 5.0 New-Item , Remove-Item y Get-ChildItem para permitir la creación y administración de enlaces simbólicos. El parámetro ItemType 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:\windows\system32\calc.exe"

Tenga cuidado: un enlace simbólico es diferente de un acceso directo , los accesos directos son solo un archivo. Tienen un tamaño (uno pequeño, que solo hace referencia a dónde apuntan) y requieren una aplicación que admita ese tipo de archivo para poder ser utilizado. Un enlace simbólico es el nivel del sistema de archivos, y todo lo ve como el archivo original. Una aplicación no necesita soporte especial para usar un enlace simbólico.

De todos modos, si desea crear un acceso directo Ejecutar como administrador utilizando Powershell, puede usar

$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 alguien quiere cambiar algo más en un archivo .LNK, puede consultar la documentación oficial de Microsoft .





desktop-shortcut