提供的参数无法识别?

时间:2016-12-12 06:02:48

标签: powershell

我正在尝试导入模块然后执行它。

如果我在powershell提示符下执行此操作,则可以正常工作。

. "Z:\shm\Invoke-Runas.ps1"
Invoke-Runas -User a -Password a -Binary C:\Windows\System32\cmd.exe -LoginType 0x1

但是,如果我使用一个班轮,我收到一个错误:

powershell -ep bypass . "Z:\shm\Invoke-Runas.ps1" ; Invoke-Runas -User a -Password a -Binary C:\Windows\System32\cmd.exe -LoginType 0x1

Invoke-Runas : A parameter cannot be found that matches parameter name 'LoginTy
pe'.
At line:1 char:108
+ . Z:\shm\Invoke-Runas.ps1 ; Invoke-Runas -User a -Password a -Binary C:\Windo
ws\System32\cmd.exe -LoginType <<<<  0x1
    + CategoryInfo          : InvalidArgument: (:) [Invoke-Runas], ParameterBi
   ndingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Invoke-Runas

看起来上一个命令吃了所有参数,我错了吗?

The source code is here

1 个答案:

答案 0 :(得分:0)

尝试将其封闭在脚本块中,然后在前面运行带有&符号的命令来调用它。

powershell -ep bypass -command & {. "Z:\shm\Invoke-Runas.ps1" ; Invoke-Runas -User a -Password a -Binary C:\Windows\System32\cmd.exe -LoginType 0x1}