我们公司有20多台电脑装有SQL SERVER,都可当服务器,
我应该如何通过程序将所有的以启动SERVER 服务的电脑的用户名和IP都取到啊????
用java自身提供的方法最多好像只能取五六个用户名和IP,无法同时取得以启动SERVER服务的的20台的用户名和IP。急急急!!!!!

解决方案 »

  1.   

    try{
    Process pp =Runtime.getRuntime().exec("cmd /c OSQL -L");
    if (pp.waitFor() == 0) {
      InputStream aas = pp.getInputStream();
      byte[] data = new byte[aas.available()];
      aas.read(data,0,aas.available());
      String nn= new String(data);
      boolean bLocal =false;
      if (null!=nn && nn.length() >0){
    if (nn.indexOf("local")>-1)
      bLocal = true;
    nn = (nn.replaceAll("\r\n",",")).replaceAll(" ","").substring(18);
    if (nn.endsWith(","))
      nn = nn.substring(0,nn.length()-1);
    if (nn.length()>0){
      String[] name = nn.split(",");
      for (int i=0 ; i< name.length ; ++i){
    System.out.println(name[i]+" ip:"+java.net.InetAddress.getByName(name[i]).getHostAddress());
      }
      if (bLocal)
       System.out.println("local ip:127.0.0.1");
    }
    if (bLocal)
      nn = nn+",local";
    System.out.println("机器名:"+nn);   
      }

    } catch(Exception e){System.out.println(e);}