日期:2014-05-20  浏览次数:20685 次

在Linux下Java如何执行远程Windows命令??
在线等待。。。

------解决方案--------------------
http://bbs.chinaunix.net/thread-1712730-1-1.html
------解决方案--------------------
不会拉。。。。
------解决方案--------------------
常用就是三种手段:
1、Windows端开启SNMP(简单网络管理协议);Linux端直接通过标准SNMP协议请求系统性能数据;
2、Windows端开启Telnet;Linux这边用Java作为客户端连接上去,然后直接远程操作即可;
3、Windows端开发一个Java代理,负责收集数据;Linux这边就用Java远程请求该代理执行搜集动作;
------解决方案--------------------
作为设计人员来说,大多数事情最终都是个取舍问题。。。

对于80%能通过简单方式实现的功能,就用简单方式来做,比如SNMP;
对于15%需要通过复杂手段来实现的,不得已就复杂来做,比如Telnet或其它;
对于5%需要极高代价才能实现的,不如就别做了。
------解决方案--------------------
JMX并不复杂,但也别把它想的太神奇了。

基本上类似于“3、Windows端开发一个Java代理”。

只不过换成Windows端开发一个JMX服务;然后Linux端就可以远程调用了。



关于WMI,你参考下这个看看:
http://simpleframework.net/blog/v/34604.html
------解决方案--------------------
你想干嘛?

开发一个客户端或者做个插件不久可以做到了么!
------解决方案--------------------
探讨
我之前也查到有 J-Interop这个 东西,网上说配置都没成功过。还没来的及仔细研究。

------解决方案--------------------
LZ首先要知道这是个远程调用,那么远程机器提供相关的远程连接服务和接口(包括端口)是前提
像现成的SNMP或telnet之类的,LZ都不想使用,那么就只能自己在远程机器安装自己的程序来提供相关的远程服务
windows提供SWbemServices服务来远程访问wmi,但是linux是否有相关的远程连接该服务的客户端或相关类库(windows就有提供这样的客户端软件和支持,可以运行wbemtest),这些都不能保证,所以如果非要远程调用wmi,那就在windows端做个代理程序负责提供linux远程连接服务和wmi的调用。(其实LZ可以试试telnet之类的远程登陆成功以后能否调用wmi,如果可以的话,可以写个telnet脚本之类的在java端调用)
------解决方案--------------------
rmi行不