通过Python访问WMI从Linux的

问题描述:

我正在寻找一种方式来从Pythonscript远程从Linux机器访问WMI(Windows管理Instrumantation)(CentOS 6的)通过Python访问WMI从Linux的

当然有蟒蛇,WMI包,但它使用了Linux上不可用的Windows API。 我发现wmi-client-wrapper应该这样做。但是没有文档,甚至这个例子也不适合我。

我想这样做的原因是因为我想远程获取系统上的所有Useraccounts并将它们存储在数据库中。 也许你有任何其他tipps如何做到这一点。

谢谢

+0

你的Linux机器上安装了'wmic'吗?尝试运行'wmic -U Administrator%password //192.168.1.149“SELECT * FROM Win32_Processor”'。 (这相当于wmi-client-wrapper示例中的命令) – ig0774

的WMI的客户端程序包的包装,如它的名字所说,是为客户WMIC的包装。所以你首先需要安装wmic才能工作。要安装WMIC,只是从你的Linux机器上运行:

须藤资质安装WMI客户端

已经安装WMIC,您的WMI客户端的方式包装应该工作在本例中提到:

import wmi_client_wrapper as wmi 

wmic = wmi.WmiClientWrapper(
    username="Administrator", 
    password="password", 
    host="192.168.1.149", 
) 

output = wmic.query("SELECT * FROM Win32_Processor") 

您可以在此链接中找到有关wmic的更多信息http://felimwhiteley.wordpress.com/2008/08/15/wmi-calls-from-linux/

您可以使用具有在Python中实现的WMI的Impacket(https://github.com/CoreSecurity/impacket)。

有两个例子可能有用:

1)https://github.com/CoreSecurity/impacket/blob/master/examples/wmiquery.py:它允许发出WQL查询和获取的对象的描述

2)https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py:通过类似的方法来PSEXEC但执行命令WMI