Führen Sie das Powershell-Skript als Administrator über eine Batchdatei mit Parameterübergabe aus

Führen Sie das Powershell-Skript als Administrator über eine Batchdatei mit Parameterübergabe aus

Wenn ich das Skript ohne Administrator über eine Batchdatei ausführe, wird der Parameter übergeben. Wenn ich das Skript jedoch als Administrator ausführe, wird der Parameter nicht übergeben.

Ich habe den Befehl aus dem Link ausprobiert, jedoch ohne Erfolg:
Öffnen Sie ein Programm als Administrator mit Bedingungen

Befehl, der das Skript als Administrator über eine Batchdatei ausführt:

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

Dies %_vLUF%ist der zu übergebende Parameter.

Fehlermeldung:

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

Befehl im Powershell-Skript zum Empfangen des Parameters:

Param(
     [decimal]$env:_vLUF
)

Was könnte falsch sein, der Befehl in der Batchdatei oder im Powershell-Skript?

Antwort1

Laut der Antwort im folgenden Link:
Führen Sie das PowerShell-Skript als Administrator über eine Batchdatei aus.

So hat es funktioniert:

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

verwandte Informationen