Cuando ejecuto el script, sin administrador, a través de un archivo por lotes, pasa el parámetro, pero cuando ejecuto el script, como administrador, no pasa el parámetro.
Probé el comando desde el enlace, pero sin éxito:
abrir-un-programa-como-administrador-con-condiciones
Comando que ejecuta el script, como administrador, vía archivo por lotes:
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File "D:\z_Batchs e Scripts\Batchs\Normaliza_LUFS\ArqsNorms_LUFS_pass.ps1' '%_vLUF%' -Verb RunAs}"
El %_vLUF%
es el parámetro que se pasará.
Mensaje de error:
No line:1 character:4
+ & {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolic ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
Comando en el script de PowerShell para recibir el parámetro:
Param(
[decimal]$env:_vLUF
)
¿Qué podría estar mal, el comando en el archivo por lotes o en el script de PowerShell?
Respuesta1
Según la respuesta en el siguiente enlace:
ejecutar-powershell-script-como-administrador-mediante-archivo-por lotes
Así funcionó:
powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process -Verb RunAs powershell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File \"D:\z_Batchs e Scripts\Batchs\Normaliza_LUFS\ArqsNorms_LUFS_pass.ps1\" -_vLUF %_vLUF%'"