[RESUELTO] wmi_info y comandos remotos

Comparta sus sugerencias o problemas relacionados con la consola WAPT o el agente WAPT aquí
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
Empbilly
Mensajes: 79
Inscripción: 15 de enero de 2018 - 20:59

23 de marzo de 2018 - 17:56

Hola amigos,

¿Cómo puedo declarar la opción wmi_filter? ¿Podría ser como se muestra a continuación?

Código: Seleccionar todo

wmi_info(keys=['Win32_NetworkAdapter'])['name']['index']
Última edición realizada por empbilly el 26 de marzo de 2018 a las 21:28, editado 1 vez.
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

23 de marzo de 2018 - 19:17

Hola Empbilly,
empbilly escribió: 23 de marzo de 2018 - 17:56 Hola amigos,

¿Cómo puedo declarar la opción wmi_filter? ¿Podría ser como se muestra a continuación?

Código: Seleccionar todo

wmi_info(keys=['Win32_NetworkAdapter'])['name']['index']
wmi_info genera una estructura de datos del módulo wmi. Puede imprimir la estructura de datos o sus partes internas:

Código: Seleccionar todo

wmi_data = wmi_info(keys=['Win32_NetworkAdapter'])['Win32_NetworkAdapter']
print wmi_data
print(wmi_data[0].keys())
for item in wmi_data:
    print item['Caption']


Salud,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Empbilly
Mensajes: 79
Inscripción: 15 de enero de 2018 - 20:59

23 de marzo de 2018 - 20:45

A partir del ejemplo anterior, ¿podría hacer un script que deshabilite vía wapt, por ejemplo una tarjeta inalámbrica de computadora?
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

24 de marzo de 2018 - 23:33

Hola Empbilly,
empbilly escribió: 23 de marzo de 2018 - 20:45. A partir del ejemplo anterior, ¿podría crear un script que desactive, por ejemplo, la tarjeta inalámbrica de un ordenador mediante wapt?
wmi_info() simplemente proporciona una estructura de datos de lista/diccionario de Python con información para el inventario. No se puede realizar ninguna acción desde esa función wmi_info(). Sin embargo, se puede importar el módulo wmi de Python y usarlo en el script.

Respecto al tema específico de tu pregunta, si tienes el nombre de la interfaz, entonces podrías usar netsh con algo como:

Código: Seleccionar todo

netsh interface set interface "network_adapter_name" admin=disable
Pero no siempre es fácil obtener el network_adapter_name correcto, especialmente si su Windows no es inglés y tiene acento en el nombre...

Salud,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Empbilly
Mensajes: 79
Inscripción: 15 de enero de 2018 - 20:59

26 de marzo de 2018 - 19:46

Bien. Estoy intentando que el script a continuación funcione. El problema es el acento en el texto "Conex"tieneo local 2" que recibe la variable "con". Intenté varias maneras de decodificar y codificar a UTF-8, pero sin éxito.

>>> con = 'Conexión local 2'.decode('utf-8')
>>> impresión con
Conexión local 2
>>> estafa
u'Conexión\xe3o local 2'
>>>

¿Como puedo solucionar este problema?

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *
import subprocess

uninstallkey = []

con = 'Conexão local 2'

def install():
    print "Instalando Wi-fi adapter disable"
    try:
        x = subprocess.Popen(["cmd.exe", "/c", "wmic path win32_networkadapter where NetConnectionID='%s' call disable" % (con)], stdout=subprocess.PIPE, shell=True)
        print (x.stdout.read())
    except (RuntimeError, TypeError, NameError):
        print "Erro na execução do cmd.exe"
Empbilly
Mensajes: 79
Inscripción: 15 de enero de 2018 - 20:59

26 de marzo de 2018 - 21:27

¡¡¡Ahora funciona!!! :D

Código: Seleccionar todo

# -*- coding: UTF-8 -*-
from setuphelpers import *
import subprocess
import locale

uninstallkey = []

con = u'Conexão de Rede sem Fio'

def install():
    print u"Exercutando Wi-fi card disable"
    try:
        x = subprocess.Popen(["cmd.exe", "/c", "wmic path win32_networkadapter where NetConnectionID='%s' call disable" % (con.encode(locale.getpreferredencoding()))], stdout=subprocess.PIPE, shell=True)
        print (x.stdout.read())
    except (RuntimeError, TypeError, NameError):
        print u"Erro na execução do cmd.exe"
Avatar de usuario
vcardón
Experto en WAPT
Mensajes: 272
Inscripciones: 06 Oct 2017 - 22:55 horas.
Ubicación: Nantes, Francia

26 de marzo de 2018 - 21:34

Hola Empbilly,

veo comentarios en portugués en tu script para deshabilitar las conexiones wifi. ¿Estás escribiendo desde Brasil?

Si es así, sería genial empezar a tener WAPT en Sudamérica.

Si tu idioma es el portugués, ¿crees que sería útil tener WAPT internacionalizado en portugués, o crees que los administradores de sistemas están suficientemente familiarizados con el inglés donde vives?

Gracias.

Vincent
Vincent CARDON
Tranquilo IT
Empbilly
Mensajes: 79
Inscripción: 15 de enero de 2018 - 20:59

27 de marzo de 2018 - 02:14

Veo comentarios en portugués en tu script para deshabilitar las conexiones wifi, ¿estás escribiendo desde Brasil?
Sí. Vivo en Brasil y trabajo en una institución educativa.

Si ese es el caso, sería genial comenzar a tener WAPT en Sudamérica.
:D

Si tu idioma es el portugués, ¿crees que sería útil tener WAPT internacionalizado en portugués, o crees que los adminsys están suficientemente familiarizados con el inglés donde vives?
Creo que sería fantástico tener, principalmente, la documentación de wapt en portugués. En cuanto a los administradores de sistemas de nuestra institución en general, aproximadamente unos 20 campus, la gran mayoría no tiene conocimientos de inglés de nivel intermedio a avanzado.
Bloqueado