2 votes

Exécuter un script powershell, en tant qu'administrateur, via un fichier batch avec passage de paramètres.

Lorsque j'exécute le script, sans un administrateur, via un fichier batch, il passe le paramètre, mais lorsque j'exécute le script, en tant qu'administrateur, il ne passe pas le paramètre.

J'ai essayé la commande à partir du lien, mais sans succès :
open-a-program-as-administrator-with-conditions

Commande qui exécute le script, en tant qu'administrateur, via batch file:

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}" 

Le %_vLUF% est le paramètre à passer.

Message d'erreur :

No line:1 character:4
+ & {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolic ...
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand

Commande dans le script powershell pour recevoir le paramètre :

Param(
     [decimal]$env:_vLUF
)

Qu'est-ce qui pourrait ne pas aller, la commande dans le fichier batch ou dans le script powershell ?

2voto

Clamarc Points 305

Selon la réponse dans le lien ci-dessous:
run-powershell-script-as-administrator-via-batch-file

Voici comment cela a fonctionné:

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%'"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X