dongyou8701 2014-06-07 04:44
浏览 99
已采纳

PowerShell上的输出流用于SSH调用

My PHP script (in Linux) is not printing my values on screen, however it prints a Warning message.

e.g.

This is my php code:

$stream = ssh2_exec($connection, 'powershell "c:emoteScript.ps1" -$NotificationID "5359f76f888ddf35b889dedf"');
$string = stream_get_contents($stream);
echo "Powershell output: ". $string;

This is my powershell code:

Write-Warning "This is a test"

And this is what PHP is writing:

Powershell output: WARNING: You should update your PowerShell to PowerShell 2.0 version.

QUESTION: How can I catch the the stream returned by Powershell?

  • 写回答

1条回答 默认 最新

  • dtl4521 2014-06-07 12:42
    关注

    SOLUTION: we need to tell ssh2_exec whether to wait/block until the remote process finishes search for "block" on this page to see an example.

    $stream = ssh2_exec($connection, 'powershell \'C:\scriptsemoteVeeamClientSummary.ps1\' -Client \''. $Client. '\' -NotificationID \''. $NotificationID. '\'');
    
    stream_set_blocking($stream, true);
    
    return stream_get_contents($stream);
    

    and powershell:

    Write-Output $result
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站