PowerShell scriptblock语法给我带来了麻烦

时间:2011-06-28 20:16:13

标签: windows powershell console

我正在尝试在控制台中使用powershell执行脚本块,但我无法完全按照自己的意愿运行语法。我需要另一双眼睛,因为我长时间一直盯着这个。有人可以指出我做错了吗?

C:\Users\Administrator.MAUL>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -NoProfile -Inputformat None -ExecutionPolicy Unrestricted -Command "&  {'C:\Users\Administrator.MAUL\Scripts\InstallTransportAgent.ps1' -ExchangeDir 'C:\Program Files\Microsoft\Exchange Server\V14' -AgentDir 'C:\Users\Administrator.MAUL\Project\TransportAgent\bin\x64\Debug' }"

结果:

You must provide a value expression on the right-hand side of the '-' operator.
At line:1 char:126
+ &  {'C:\Users\Administrator.MAUL\InstallTransportAgent.ps1' - <<<< ExchangeDir 'C:\Program Files\Microsoft\Exchange Server\V14' -AgentDir 'C:\Users\Administrator.MAUL\Project\TransportAgent\bin\x64\Debug' }
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordEx
   ception
    + FullyQualifiedErrorId : ExpectedValueExpression

2 个答案:

答案 0 :(得分:1)

尝试使用此命令(我无法测试):

"& 'C:\Users\Administrator.MAUL\Scripts\InstallTransportAgent.ps1' -ExchangeDir 'C:\Program Files\Microsoft\Exchange Server\V14' -AgentDir 'C:\Users\Administrator.MAUL\Project\TransportAgent\bin\x64\Debug'"

(实际上不需要脚本块)

答案 1 :(得分:0)

我想我可能已经弄清楚了:在脚本块中,我还需要包含第二个调用操作符,如下所示:

... -Command "& {&'path/to/exe' ...}"