exec没有返回powershell响应

我正在为我工​​作的关联创建一个网页来检查每日数据。
对于每个数据 如果数据存在,则存在背景颜色为绿色,如果不存在则为红色。 感谢PowerShell使用cmd powershell.exe Invoke-Command -Computer Server -ScriptBlock {Test-Path the_path_to_my_file} </ code>,我正在寻找的数据位于我可以访问的多个服务器上,但是当我 使用第一个参数中的这一行和第二个参数中的数组在php中创建一个exec函数,该数组保持为空。</ p>

我在我的专业计算机上尝试了这个并且它有效但我有 登录到服务器以访问数据,因为我不是管理员,但网页位于我管理的服务器上。</ p>

我知道我可以使用cmd访问服务器 powershell.exe Invoke-Command -Computer Server -ScriptBlock {Test-Path the_path_to_my_file} </ code>,exec命令用于 echo </ code>,例如。</ p>

我也尝试过passthru和SHell_Exec并且没有结果</ p>

  function existe_srv($ srv,$ file){
exec(“powershell.exe” Invoke-Command -Computer“。$ srv。” - ScriptBlock {Test-Path \ “”。$ file。“\”}“,$ out);
if($ out [0] == True){return'RGB(0,255,0)';}
else {return'RGB(255) ,0,0)';}
}
</ code> </ pre>

background-color:

注意</ b>:未定义的偏移量:0 在 D:\ XAMP \ htdocs \ Test_opti_cartes \ supervision_donnees_quotidiennes.php </ b> 37 </ b>
</ p>
</ div>

展开原文

原文

I'm making a web page for the association I work for to check the daily data. For each data in the array, there is a background-color that is green if the data exists and red if it's not the case. The data I'm looking for is located on severals servers I can access to thanks to PowerShell with the cmd powershell.exe Invoke-Command -Computer Server -ScriptBlock {Test-Path the_path_to_my_file}, but when I make an exec function in php with this line in first argument and an array in second argument, the array remains empty.

I've tried this on my professional computer and it works but I have to log in to the server to access the data because I'm not administrator, but the web page is located on a server I administrate.

I know I can access the server with the cmd powershell.exe Invoke-Command -Computer Server -ScriptBlock {Test-Path the_path_to_my_file} and the exec command works with an echo for example.

I've also tried with passthru and SHell_Exec and there is no result either

function existe_srv($srv, $file){
      exec("powershell.exe Invoke-Command -Computer ".$srv." -ScriptBlock {Test-Path \"".$file."\"}", $out );
      if ($out[0] == True){return 'RGB(0,255,0)';}
      else {return 'RGB(255,0,0)';}
    }

background-color:
Notice: Undefined offset: 0 in D:\XAMP\htdocs\Test_opti_cartes\supervision_donnees_quotidiennes.php on line 37

dpymrcl269187540
dpymrcl269187540 我尝试过使用shell_exec并且它仍然无法正常工作,我认为网页无法访问有问题的服务器,因为即使我有选项-Credential也没有窗口打开输入我的密码...
接近一年之前 回复
duanhu7390
duanhu7390 或者,问题可能是powershell.exe返回单个int值,并且您尝试像数组一样访问它。在您的scriptblock中,您可以简单地执行返回2之类的操作并显示输出吗?你可能不得不这样做:来自这个答案的shell_exec,以获得输出而不是返回值。
大约一年之前 回复
dongtan1845
dongtan1845 听起来像双跳认证问题。即在本地登录时运行它,因为您在帐户下运行它,但“谁”在Web服务器上运行它?
大约一年之前 回复
doulin6761
doulin6761 即使我添加了powershell.exe的路径,它也不能返回任何布尔值
大约一年之前 回复
dsfs21312
dsfs21312 我认为我的php命令甚至无法启动powershell,而cmd仍然有效...
大约一年之前 回复
doufengsui7449
doufengsui7449 也许在第一个execarg的末尾添加2>&1以查看是否发生任何错误
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐