Seite 1 von 1

[GELÖST] wmi_info & Remote-Befehle

Veröffentlicht: 23. März 2018 - 17:56 Uhr
von Empbilly
Hallo zusammen,

Wie kann ich die Option wmi_filter deklarieren? Kann es wie folgt aussehen?

Code: Alle auswählen

wmi_info(keys=['Win32_NetworkAdapter'])['name']['index']

Betreff: wmi_info

Veröffentlicht: 23. März 2018 - 19:17 Uhr
von dcardon
Hallo Empbilly,
embilly schrieb: 23. März 2018 - 17:56 Uhr Hallo zusammen,

Wie kann ich die Option wmi_filter deklarieren? Kann es wie folgt aussehen?

Code: Alle auswählen

wmi_info(keys=['Win32_NetworkAdapter'])['name']['index']
wmi_info gibt eine Datenstruktur aus dem wmi-Modul aus. Sie können entweder die gesamte Datenstruktur oder deren Bestandteile ausgeben:

Code: Alle auswählen

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


Prost,

Denis

Betreff: wmi_info

Veröffentlicht: 23. März 2018 - 20:45 Uhr
von Empbilly
Anhand des obigen Beispiels könnte ich ein Skript erstellen, das beispielsweise eine drahtlose Computerkarte über wapt deaktiviert?

Betreff: wmi_info

Veröffentlicht: 24. März 2018 - 23:33 Uhr
von dcardon
Hallo Empbilly,
embilly schrieb: 23. März 2018 - 20:45 Uhr. Könnte ich anhand des obigen Beispiels ein Skript erstellen, das beispielsweise eine WLAN-Karte eines Computers über wapt deaktiviert?
Die Funktion `wmi_info()` gibt lediglich eine Python-Liste/ein Dictionary mit Inventarinformationen zurück. Sie können mit dieser Funktion keine Aktionen ausführen. Sie können jedoch das Python-Modul `wmi` importieren und in Ihrem Skript verwenden.

Bezüglich Ihrer konkreten Frage: Wenn Sie den Namen der Schnittstelle kennen, könnten Sie netsh beispielsweise mit folgendem Befehl verwenden:

Code: Alle auswählen

netsh interface set interface "network_adapter_name" admin=disable
Es ist jedoch nicht immer einfach, den Netzwerkadapternamen korrekt anzugeben, insbesondere wenn Ihre Windows-Version nicht englisch ist und der Name Akzente enthält...

Prost,

Denis

Betreff: wmi_info

Veröffentlicht: 26. März 2018 – 19:46 Uhr
von Empbilly
Okay. Ich versuche, das untenstehende Skript zum Laufen zu bringen. Das Problem ist der Akzent auf dem Text „Conex“hatIch habe versucht, den Wert von "con" in der lokalen Variable "2" zu dekodieren und zu kodieren, jedoch ohne Erfolg.

>>> con = 'Conexão local 2'.decode('utf-8')
>>> print con
Conexão local 2
>>> con
u'Conex\xe3o local 2'
>>>

Wie kann ich dieses Problem lösen?

Code: Alle auswählen

# -*- 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"

Betreff: wmi_info

Veröffentlicht: 26. März 2018 - 21:27 Uhr
von Empbilly
Jetzt funktioniert es!!! :D

Code: Alle auswählen

# -*- 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"

Betreff: [GELÖST] wmi_info & Remote-Befehle

Veröffentlicht: 26. März 2018 - 21:34 Uhr
von vcardon
Hallo Empbilly,

ich sehe portugiesische Kommentare in deinem Skript zum Deaktivieren von WLAN-Verbindungen. Schreibst du aus Brasilien?

Falls ja, wäre es super, wenn WAPT jetzt auch in Südamerika verfügbar wäre.

Wenn deine Sprache Portugiesisch ist, hältst du es für sinnvoll, WAPT auch auf Portugiesisch anzubieten, oder denkst du, dass die Administratoren in deiner Gegend ausreichend Englisch sprechen?

Danke,

Vincent

Betreff: [GELÖST] wmi_info & Remote-Befehle

Veröffentlicht: 27. März 2018 - 02:14 Uhr
von Empbilly
Ich sehe portugiesische Kommentare in Ihrem Skript zum Deaktivieren von WLAN-Verbindungen. Schreiben Sie aus Brasilien?
Ja. Ich lebe in Brasilien und arbeite in einer Bildungseinrichtung.

Wenn das der Fall ist, wäre es einfach großartig, WAPT in Südamerika einzuführen.
:D

Wenn Ihre Sprache Portugiesisch ist, halten Sie es für sinnvoll, WAPT in Portugiesisch zu internationalisieren, oder sind Sie der Meinung, dass die Administratoren in Ihrer Region ausreichend Englisch beherrschen?
Ich fände es großartig, vor allem die WAPT-Dokumentation auf Portugiesisch verfügbar zu haben. Betrachtet man die Systemadministratoren unserer Institution insgesamt – wir haben etwa 20 Standorte –, so verfügen die meisten nur über mittlere bis fortgeschrittene Englischkenntnisse.