【问题标题】:powershell execute command and return valuepowershell执行命令并返回值
【发布时间】:2016-04-12 16:23:56
【问题描述】:

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

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

并返回结果。 我到目前为止的代码是:

$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 = 调用命令

如果我使用 Invoke-Expression,我会得到以下信息: Invoke-Expression:表达式或语句中出现意外的标记“状态”。 在 E:\Andrew\MonitoreGate.ps1:20 char:28 + $Result = 调用表达式

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

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

【问题讨论】:

    标签: powershell command


    【解决方案1】:

    都不是,而是使用:

    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
    

    【讨论】:

      猜你喜欢
      • 2011-12-11
      • 1970-01-01
      • 2018-09-17
      • 2020-06-11
      • 2012-10-09
      • 2019-03-17
      • 2020-05-17
      • 1970-01-01
      • 2012-08-03
      相关资源
      最近更新 更多