debian 上用wmi获取远端windows server 2003(被管理者) 的wmi信息

来源:互联网 发布:狸窝转换器 mac 编辑:程序博客网 时间:2024/04/29 16:02

(1)debian 上需要安装wmic命令,

方法一:下载源码文件,然后编译,复制到/usr/bin/下,

方法二:下载本地安装包,地址为this website:

  • libwmiclient1_1.3.14-3_amd64.deb
  • wmi-client_1.3.14-3_amd64.deb

安装命令如下:

root@***:~# dpkg -i libwmiclient1_1.3.14-3_amd64.deb
root@***:~# dpkg -i wmi-client_1.3.14-3_amd64.deb

这样就可以运行

wmic -U Administrator%mysecret //192.168.20.20 "Select WorkingSetSize from Win32_Process Where CommandLine like '%java.exe%'"

wmic -U 远程计算机用户名%密码 //远程计算机IP "Select  * from Win32_NTLogEvent"

 

(2)对于远程计算机windows server 2003 处需要开启wmi 服务

首先,以下服务应该在远程Windows机器上运行:

确定以上服务在运行(确定方法:我的电脑右键--管理--服务--服务列表就出来了)之后看防火墙

1) Remote Procedure Call (RPC) --远程过程调用 -- 端口: 135

2) Windows Management Instrumentation (WMI) -- Windows管理规范-- 端口: 445

备注:如果启用防火墙,应在防火墙开放这些端口。(开启防火墙的情况下,配置方法如下所示)

其次:对于防火墙,如果允许直接关闭防火墙,直接关闭防火墙即可,服务器主机即可这样获取被管理者的wmi信息了

若不允许关闭防火墙,就需要对防火墙进行配置:

可以用此命令:netsh firewall set service RemoteAdmin enable

此命令开启了WMI的端口:

一下是我用nmap探测工具(linux下探测),探测命令前后远端端口前后的变化:

disable时:

<asset ip_type="ipv4" ip="192.168.1.49" mac="00:0C:29:52:A6:11" hostname="localhost" agent="1">
<osfamily_list>
<osfamily>Windows</osfamily>
</osfamily_list>
<os_list>
<osmatch>Microsoft Windows XP SP2 or Server 2003 SP2</osmatch>
</os_list>
<sevice_list>
<service name="msrpc" port="135" protocol="tcp"/>
<service name="msrpc" port="1031" protocol="tcp"/>
</sevice_list>
</asset>

enbale之后:

 <service name="msrpc" port="135" protocol="tcp"/>
 <service name="microsoft-ds" port="445" protocol="tcp"/>
 <service name="msrpc" port="1025" protocol="tcp"/>
 <service name="msrpc" port="1030" prtocol="tcp"/>
 <service name="msrpc" port="1031" protocol="tcp"/>

很显然,防火墙开启状态下,135和445端口已经开启。

过后简单的方法可以看允许端口:查看防火墙状态的命令:netsh firewall show state.

最后,如果这些配置之后,仍无法用

wmic -U 远程计算机用户名%密码 //远程计算机IP "Select  * from Win32_NTLogEvent"

获取wmi信息,就要排查原因了(比如Rpc , DCOM 的问题,等等)

可参考下一篇文章,配置,测试(wbemtest),排查问题。

若要转载,请注明HXH出处http://blog.csdn.net/hxh129?viewmode=contents

原创粉丝点击