我正在使用以这种方式执行的Powershell脚本:
PS C:\long\path\to\Psconsole.psc1 -Command {Get-whatever...}
它们都会产生错误:
You must provide a value expression on the right hand side of the value '-' operator.
*
以下是一个例子:
PS C:\> "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\psconsole.psc1" -Command "Get-Service"
相同的错误消息:
`You must provide a value expression on the right hand side of the value '-' operator.`
... At line 1...
- <<< Command "Get-Service"
+ CategoryInfo: PaserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedError: ExpectedValueExpression
有谁能告诉我一种方法让-Command工作?
答案 0 :(得分:0)
通过将您的路径括在引号中,您告诉PowerShell它是一个字符串,然后是 - 之前&#34; -Command&#34;被解释为运算符而不是参数。
要解决此问题,请在语句前加上&#34; Call&#34;运营商&#34;&amp;&#34;:
& "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\psconsole.psc1" -Command "Get-Service"
编辑:如果您使用Tab键自动完成路径,则控制台会自动将&amp;当它看到完整路径中的空间时,为您调用操作符。