Используя powershell.exe
, я хочу эмулировать команду cmd.exe
runas
с дополнительным преимуществом повышения привилегий через UAC.
Однако, если я одновременно поставлю оба параметра -Credential
и -Verb Runas
для Start-Process
, я получу ошибку ниже:
Start-Process powershell.exe -Credential (New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList 'username',(ConvertTo-SecureString 'password' -AsPlainText -Force)) -ArgumentList '-NoProfile' -Verb RunAs
Start-Process : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Start-Process powershell.exe -Credential (New-Object -TypeName System ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.StartProcessCommand
Использование только одного из этих параметров не приводит к ошибкам:
Start-Process -Verb RunAs powershell.exe -ArgumentList "-NoProfile"
Почему это? Обе синтаксические формы Start-Process
принимают [<CommonParameters>]
, которому -Verb Runas
принадлежит?