Estoy intentando crear un acceso directo en el escritorio de Windows (SymbolicLink) que ejecuta un script de PowerShell. Si esto se ejecutara desde la línea de comando, sería:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noexit -file "C:\User\BFT\Test\HelloWorld.ps1"

Y la línea de comando funciona con esto.

También puedo crear un acceso directo haciendo clic con el botón derecho en el escritorio, seleccionando Nuevo, seleccionando el acceso directo y cargando el comando anterior en el cuadro de diálogo. Esto también funciona bien.

Cuando intento crear este acceso directo en PowerShell usando el comando:

New-Item -ItemType SymbolicLink -Path "c:\User\BFT\Test" -Name "Test" -Target """C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noexit -file "C:\User\BFT\Test\HelloWorld.ps1"""

Recibo un error que dice

New-Item: no se puede encontrar un parámetro que coincida con el nombre del parámetro 'noexit'.

He probado varias versiones que implican diferentes citas, con y sin -noexit y -file, etc. Ninguna parece funcionar.

Parece que PowerShell no puede manejar tanto el archivo exe como la parte de la ruta del archivo, pero parece que debería ser un uso común y creo que hay una manera. Probablemente me esté perdiendo algo.

Cualquier ayuda para sugerir soluciones será muy apreciada.

1
Earthman55 15 oct. 2019 a las 02:36

1 respuesta

La mejor respuesta

Los archivos de acceso directo (.lnk archivos) no son lo mismo que los enlaces simbólicos ; consulte esta respuesta para obtener información general.

New-Item no admite la creación de archivos de acceso directo , solo enlaces simbólicos,

Para crear archivos de acceso directo mediante programación, debe utilizar el WScript.Shell componente COM , como se muestra en esta respuesta.

1
mklement0 15 oct. 2019 a las 02:43