У меня есть простой скрипт powershell myps.ps1, который мне нужно вызвать из файла .bat в качестве администратора. Однако мне также нужно перенаправить вывод скрипта powershell в файл.
myps.ps1:
Write-Output "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss.fff') Hello world!!"
Содержимое файла bat:
PowerShell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass -File .\myps.ps1' -RedirectStandardOutput .\myps_out.log -RedirectStandardError myps_err.log -Verb RunAs}"
У меня нет проблем с вызовом сценария ps1 от имени администратора. Но когда я включаю параметры -RedirectStandardOutput и -RedirectStandardError, я получаю следующую ошибку:
Start-Process : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:3
+ &{Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.StartProcessCommand