psexec \\172.19.200.31 -u administrator -p 123 ping 172.19.0.70 
返回的结果:Pinging A21 [127.0.0.1] with 32 bytes of data:
而无下面的信息:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
有没有高手提示下。谢谢。或者用java 调用telnet 命令在远程机上执行命令返回

解决方案 »

  1.   

    你在远程主机上面执行当然是在远程主机上面显示的吧...你要想得到信息  ,如果程序调用的话必须获得输入流,
    然后从输入流中读取到数据...
    java 一般用exec调用cmd来发送命令,通过getInputStream 来获取返回值
      

  2.   

    从getInputStream()得到的是Pinging A21 [127.0.0.1] with 32 bytes of data:
    得不到ping后的结果,不信你试下
      

  3.   

    你少了waitfor吧。
    int i = p.waitFor();
    InputStream is;
    if (i != 0) {
      is = p.getErrorStream();
    } else {
      is = p.getInputStream();
    }
      

  4.   

    没少!不可能少这么重要的步骤!而且这个waitFor()我在p.getErrorStream();
    前后都试过调用,一样的结果:Pinging A21 [127.0.0.1] with 32 bytes of data:
      

  5.   

    我也试了一下,结果和你的不一样,压根就没有远程的结果的输出。Error>
    Error>PsExec v1.63 - Execute processes remotely
    Error>Copyright (C) 2001-2005 Mark Russinovich
    Error>Sysinternals - www.sysinternals.com
    Error>
    Output>
    Output>
    Error>Connecting to cplatfor-7cf87f...
    Error>                                                                              
    Error>
    Error>Starting PsExec service on cplatfor-7cf87f...
    Error>                                                                              
    Error>
    Error>Connecting with PsExec service on cplatfor-7cf87f...
    Error>                                                                              
    Error>
    Error>Starting ping on cplatfor-7cf87f...
    Error>                                                                              
    Error>
    Error>
    Error>ping exited on cplatfor-7cf87f with error code 0.
    Output>Pinging 127.0.0.1 
    0貌似是psexec自身和java运行之间的问题。也有可能和psexec的版本有关。只能建议你去看看他的官方论坛,找找原因。
    http://forum.sysinternals.com/topic15920.html