[Python-es] wmi

Boris Perez Canedo inf200523 en ucf.edu.cu
Vie Mayo 14 05:33:21 CEST 2010



<style type="text/css">
-></style>
Tengo que implementar una aplicación que sea capaz de
enviarme información acerca de los periféricos que se tiene en una
determinada posición (monitor, impresora, webcam, scanner, etc).

Estuve investigando acerca de la libreria WMI de python y resulta ser muy buena, pero
no pude encontrar la forma de saber si el monitor, impresora estan prendidos.

Quizas alguien tenga experiencia trabajando con WMI, o talves exista otra forma de
hacerlo.

Saludos;
César

Hola Cesar,

WMI es la implementacion de microsoft del estandar de administracion WBEM de DMTF
solo te sirve, si no me equivoco, para encuestar maquinas con sistema operativo
Windows. Puedes encuestar maquinas Windows desde Linux instalando el paquete
python-wmi o desde Windows instalando WMI y Win32. 

Para encuestar
maquinas con Linux necesitas instalar un servidor CIM, sfcb, pegasus o OpenWBEM en
las maquinas que quieras monitorear ya que desgraciadamente no vienen con este servicio
instalado por defecto. Ademas no creo que existan proveedores para las clases
CIM_DesktopMonitor, CIM_Printer esta ultima no se si es asi como se llama. Esos
proeedores tendrias que implementarlos tu. Afortunadamente se pueden incluso escribir en
python.

Bueno lo que preguntas:

Si utilizas WMI para encuestar una
maquina con Windows puedes hacer lo siguiente:

import wmi

con =
wmi.WMI(computer = "remotecomputer", user = "usuario", password =
 "secreto")

result = con.query("select DeviceID from
win32_DesktopMonitor") # o select * from win32_DesktopMonitor si quieres hacer una
especie de inventario.

if result == []:
   print "No
hay monitor"
else:
  print "El monitor esta
conectado."

Bueno mas o menos esa es la idea. Puedes perfeccionarla un
poco, manejar las exceptions, etc.

Para los demas tendrias que ver el
esquema CIM y buscar las clases necesarias y ademas ver si esos proveedores son o no
soportados por el servidor CIM que vas a encuestar.

Saludos,
Boris.



---
Convencion Internacional de Psicologia y Ciencias Sociales y Humanas
Cienfuegos, Cuba, del 19 al 22 de abril del 2011
http://promociondeeventos.sld.cu/hominis2011
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100513/1ae5deb2/attachment.html>


Más información sobre la lista de distribución Python-es