[RISOLTO] wmi_info e comandi remoti

Condividi qui i tuoi suggerimenti o problemi riguardanti la console WAPT o l'agente WAPT
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
Empbilly
Messaggi: 79
Registrazione: 15 gennaio 2018 - 20:59

23 marzo 2018 - 17:56

Ciao a tutti,

Come posso dichiarare l'opzione wmi_filter? Può essere come segue?

Codice: Seleziona tutto

wmi_info(keys=['Win32_NetworkAdapter'])['name']['index']
Ultima modifica di empbilly il 26 marzo 2018 alle 21:28, modificato 1 volta.
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

23 marzo 2018 - 19:17

Ciao Empbilly,
empbilly ha scritto: 23 marzo 2018 - 17:56 Ciao a tutti,

Come posso dichiarare l'opzione wmi_filter? Può essere come segue?

Codice: Seleziona tutto

wmi_info(keys=['Win32_NetworkAdapter'])['name']['index']
wmi_info fornisce una struttura dati dal modulo wmi. È possibile stampare la struttura dati o le sue parti interne:

Codice: Seleziona tutto

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']


Saluti,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Empbilly
Messaggi: 79
Registrazione: 15 gennaio 2018 - 20:59

23 marzo 2018 - 20:45

Dall'esempio sopra, potrei creare uno script che disabiliti tramite wapt, ad esempio, una scheda wireless per computer?
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

24 marzo 2018 - 23:33

Ciao Empbilly,
empbilly ha scritto: 23 marzo 2018 - 20:45 Dall'esempio sopra, potrei creare uno script che disabiliti tramite wapt, ad esempio, una scheda wireless del computer?
wmi_info() fornisce semplicemente una struttura dati Python di tipo list/dict con informazioni per l'inventario. Non è possibile eseguire alcuna azione tramite la funzione wmi_info(). Tuttavia, è possibile importare il modulo Python wmi e utilizzarlo nel proprio script.

Per quanto riguarda l'argomento specifico della tua domanda, se hai il nome dell'interfaccia, potresti usare netsh con qualcosa del tipo:

Codice: Seleziona tutto

netsh interface set interface "network_adapter_name" admin=disable
Ma non è sempre facile trovare il nome corretto per la scheda di rete, soprattutto se il tuo Windows non è in lingua inglese e ha un accento nel nome...

Saluti,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Empbilly
Messaggi: 79
Registrazione: 15 gennaio 2018 - 20:59

26 marzo 2018 - 19:46

Ok. Sto cercando di far funzionare lo script qui sotto. Il problema è l'accento sul testo "Conex"hao locale 2" che riceve la variabile "con". Ho provato diversi modi per decodificare e codificare in utf-8, ma senza successo.

>>> con = 'Connessione locale 2'.decode('utf-8')
>>> stampa con
Conexão local 2
>>> contro
u'Conex\xe3o locale 2'
>>>

Come posso risolvere questo problema?

Codice: Seleziona tutto

# -*- 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
Messaggi: 79
Registrazione: 15 gennaio 2018 - 20:59

26 marzo 2018 - 21:27

Adesso funziona!!! :D

Codice: Seleziona tutto

# -*- 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 utente
vcardon
Esperto WAPT
Messaggi: 272
Registrazione: 06/10/2017 - 22:55
Posizione: Nantes, Francia

26 marzo 2018 - 21:34

Ciao Empbilly,

vedo dei commenti in portoghese nel tuo script per disabilitare le connessioni Wi-Fi. Scrivi dal Brasile?

In tal caso, sarebbe fantastico poter iniziare ad avere WAPT anche in Sud America.

Se la tua lingua è il portoghese, pensi che sarebbe utile avere WAPT internazionalizzato in portoghese, o ritieni che gli amministratori qui abbiano una conoscenza sufficiente dell'inglese?

Grazie,

Vincent
Vincent CARDON
Tranquillo IT
Empbilly
Messaggi: 79
Registrazione: 15 gennaio 2018 - 20:59

27 marzo 2018 - 02:14

Vedo commenti in portoghese nel tuo script per disattivare le connessioni Wi-Fi. Stai scrivendo dal Brasile?
Sì. Vivo in Brasile e lavoro in un istituto scolastico.

Se così fosse, sarebbe fantastico iniziare ad avere WAPT in Sud America.
:D

Se la tua lingua è il portoghese, ritieni che sarebbe utile internazionalizzare WAPT in portoghese o ritieni che gli amministratori abbiano sufficiente familiarità con l'inglese nella tua zona?
Penso che sarebbe fantastico avere, principalmente, la documentazione wapt in portoghese. Parlando degli amministratori di sistema del nostro istituto nel suo complesso, circa 20 campus, la stragrande maggioranza non ha un intermediario con competenze avanzate in inglese.
Bloccato