Seite 1 von 1

os.system Frage zu Command Line Befehl "query user"

Verfasst: Dienstag 3. Mai 2016, 10:47
von lordzwieback
Hallo,

ich würde gerne von Remote aus schauen, welche Benutzer an welchen PC angemeldet sind.

Bisher kannte ich os.system daher, dass ich damit normale Command Line Befehle abschicken kann. (z.B. os.system("ping XY"))

Jetzt wollte ich das gleiche mit dem befehl "query user" machen, aber ich bekomme nur die Meldung "Der Befehl "query" ist entweder falsch geschrieben oder konnte nicht gefunden werden."

Weiß hier jemand etwas genaueres ?

Grüße

Re: os.system Frage zu Command Line Befehl "query user"

Verfasst: Dienstag 3. Mai 2016, 11:38
von snafu
Geht der Befehl denn von der Kommandozeile aus? Falls nicht, dann hast du offenbar das zugehörige Programm nicht korrekt oder überhaupt nicht installiert.

Bei mir (Windows 10) ist es zum Beispiel nicht automatisch dabei.

Re: os.system Frage zu Command Line Befehl "query user"

Verfasst: Dienstag 3. Mai 2016, 12:17
von lordzwieback
snafu hat geschrieben:Geht der Befehl denn von der Kommandozeile aus? Falls nicht, dann hast du offenbar das zugehörige Programm nicht korrekt oder überhaupt nicht installiert.

Bei mir (Windows 10) ist es zum Beispiel nicht automatisch dabei.
In der Kommandozeile von Windows 10 aus alles prima. Funktioniert.

Re: os.system Frage zu Command Line Befehl "query user"

Verfasst: Dienstag 10. Mai 2016, 07:35
von lordzwieback
Ich habe mittlerweile eine Lösung gefunden. Falls jemand das gleiche Problem haben sollte, probiert statt:

Code: Alles auswählen

import os

test = os.system("query user")
das hier:

Code: Alles auswählen

import os

test = os.system(r"C:\Windows\Sysnative\query.exe user")
So funktioniert zwar der Befehl, aber liefert keine brauchbaren Rückgabewerte. Will man den String auswerten, der später in der Console steht, macht man folgendes:

Code: Alles auswählen

import subprocess

response = subprocess.Popen([r"C:\Windows\Sysnative\query.exe","user"], stdout= subprocess.PIPE).communicate()[0]
In der Variable response sollte nun der String stehen, welcher auch in der Console erscheint.