powershell 执行命令和 return 值

powershell execute command and return value

对于专家来说,这可能是一个简单的答案,但不确定最好使用的命令。我想从 powershell 中执行以下命令:

stccmd -rh sldcege-mie003 -rs nsccahs_dev -un Administrator -up STC -cb     nsccahs_dev_cb -cmd "status bobRRC_ADT_OUT_FMT"

和return结果。 到目前为止我的代码是:

$sCmd = @'
"stccmd -rh sldcege-mie003 -rs nsccahs_dev -un Administrator -up STC -cb
 nsccahs_dev_cb -cmd '\"status bobRRC_ADT_OUT_FMT\"'"
'@

$Result = Invoke-Command  $sCmd | Out-String   

我得到的错误是: 调用命令:无法使用指定的命名参数解析参数集 米。 在 E:\Andrew\MonitoreGate.ps1:20 char:25 + $Result = 调用命令 <<<< $sCmd |外弦 + CategoryInfo : InvalidArgument: (:) [Invoke-Command], 参数 绑定异常 + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Comma nds.InvokeCommandCommand

如果我使用 Invoke-Expression,我会得到以下信息: Invoke-Expression:表达式或语句中的意外标记 'status'。 在 E:\Andrew\MonitoreGate.ps1:20 char:28 + $Result = 调用表达式 <<<< $sCmd |外弦 + CategoryInfo:ParserError:(状态:字符串)[调用表达式] , 解析异常 + FullyQualifiedErrorId : UnexpectedToken,Microsoft.PowerShell.Commands.In vokeExpressionCommand

我应该使用 Invoke-Command 或 Invoke-Expression 还是其他方式? $sCmd 结构在引号方面是否正确? 该程序是 运行 在同一台机器上(不是远程)。

非常感谢任何帮助, 安德鲁

两者都不是,而是使用:

Start-Process -FilePath 'path_to_stccmd.exe' -ArgumentList "-rh sldcege-mie003 -rs nsccahs_dev -un Administrator -up STC -cb     nsccahs_dev_cb -cmd 'status bobRRC_ADT_OUT_FMT'" -nonewwindow

如果您没有看到使用上面的输出...试试这个:

$exepath = 'path_to_stccmd.exe'

&$exepath arguments