从Linux通过Python访问WMI

时间:2013-11-21 08:13:08

标签: python linux wmi wmi-query

我正在寻找一种从Linux机器(CentOS 6)远程访问Pythonscript的WMI(Windows Management Instrumantation)的方法

当然有python-wmi包,但它使用Linux上没有的Windows API。 我发现wmi-client-wrapper应该做那样的事情。但是没有文档,甚至这个例子也不适用于我。

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

谢谢

2 个答案:

答案 0 :(得分:4)

您可以使用在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执行命令

答案 1 :(得分:2)

wmi-client-wrapper软件包,如其名称所述,是wmic客户端的包装器。所以你首先需要安装wmic才能工作。要安装wmic,只需从你的linux机器运行:

sudo aptitude install wmi-client

安装了WMIC后,您的wmi-client-wrapper应该如示例中所述那样工作:

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/