我正在开展一个项目,需要创建一个 Python 类,它可以确定其运行的底层操作系统,如果发现操作系统是 Windows Server 2003/2008,则执行一系列检查。
目前我的检查包括以下参数:
- CPU 利用率检查
- RAM 使用率检查
- HD 卷可用空间
- 配置良好的网络参数,如 DNS 和 DHCP
- RDP 和其他关键应用服务正在运行
对于 1 到 3 的信息可以从中提取Windows 任务管理器但问题是如何 ?
对于 4,ipconfig /全部输出会很好,我想我可以从一些python模块或正则表达式中提取它们!(相信我,我不确定)
对于 5,我认为我应该使用 powershell trimmed获取服务输出。
我期待就第 1 至第 3 点寻求帮助
- 我怎样才能从 Windows 机器中提取这些信息?
- 我如何使用这些信息在 Python 中进一步处理?
除此之外,我们非常欢迎任何类型的建议/疑问/改进/已知问题。
答案1
看一下第 1、2 和 3 部分:http://code.google.com/p/psutil/
至于网络参数,您可能更愿意解析以下命令的输出:netsh interface ipv4 show config
用于接口配置和 DNS。但是您也可以尝试以下方法:http://alastairs-place.net/projects/netifaces/
它没有在 Windows 上提供非常友好的接口名称,但可以工作。不过,我认为它不会显示您是否正在使用 DHCP 或您正在使用什么 DNS。
最后对于 5 有http://code.activestate.com/recipes/303339/但它只是进程,没有帮助。但是有一个 WMI Python 模块可以提供服务信息:http://timgolden.me.uk/python/wmi/index.html