python3 admincmd Terminal öffnen?

2 Antworten

Vielleicht so?

import ctypes
import sys
import os
import time

def is_admin():
    try:
        return ctypes.windll.shell32.IsUserAnAdmin()
    except:
        return False

if is_admin():
    print("Admin")
    os.system('cmd /k "SystemInfo"')
else:
    ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)

time.sleep(10)
Woher ich das weiß:eigene Erfahrung
devsc 
Fragesteller
 15.07.2022, 17:34

das Funktioniert so nicht, da du so nur denn Python Interpreter als Admin ausführst, jedoch wird im Programm eine cmd Eingabe erzeugt, die nicht als Admin gestartet wurde

1

Du kannst einfach cmd suchen im startmenü und dann rechtsklick -> als admin ausführen.

TechPech1984  15.07.2022, 16:56

ich glaub er will das aus python herraus machen , sonst würde er nicht von befehl reden . ist halt die frage ob man einen kontext so wechseln kann .

hier wird das thema beleuchtet mit "runas" wenn man python 2 benutzt .

https://stackoverflow.com/questions/62634808/not-able-to-import-win32com-shell-shell-in-python3-8-3-to-execute-admin-comman

0
jort93  15.07.2022, 17:03
@TechPech1984

Das kann natürlich sein, das ist in der frage nicht so klar ob er einen python befehl in der cmd ausführen möchte, oder in python einen befehl in der cmd ausführen will.

0
devsc 
Fragesteller
 15.07.2022, 17:22

Ich möchte einen CMD Command via Python aufrufen, wie ich auch schon geschrieben habe

0
jort93  15.07.2022, 17:29
@devsc

Nein, das hast du nirgendwo geschrieben.

Du hast nur geschrieben "Wie rufe ich eine Admin CMD Konsole auf", nicht dass du das via python machen willst.

0
devsc 
Fragesteller
 15.07.2022, 17:38
@jort93

1 win32com.shell.shell funktioniert nicht, da der Befehl nur bei Python2 Funktioniert

2 ich würde gerne einen bestimmten Befehl mit Python Ausführen

3 python3 admincmd Terminal öffnen?
0
jort93  15.07.2022, 20:17
@devsc

1 sagt nicht was du erreichen willst, nur was du versucht hast.

Bei 2 kann der Befehl kann ja was anderes sein und nichts mit dem Problem zu tun haben. Du musst keine Admin cmd in Python starten um einen Befehl auszuführen.

3 ist nichtmal ein Satz.

0