我怎样才能使用Psconsole.psc1 -Command Get- {anything}

时间:2014-09-10 16:30:00

标签: powershell batch-file

我正在使用以这种方式执行的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工作?

1 个答案:

答案 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;当它看到完整路径中的空间时,为您调用操作符。