Seite 1 von 1

.exe Datei als Administrator via Python starten?

Verfasst: Donnerstag 4. Juli 2013, 18:57
von Astraioz
Hallo :)

ich würde gerne eine .exe via Python als Administrator starten.

Ich habe schon versucht:

Code: Alles auswählen

subprocess.call(['runas', '/user:Administrator', 'DL32.exe'])
Dort muss aber ein Passwort eingeben werden.

Gibt es da irgendeine Möglichkeit?


Gruß,
Astraioz

Re: .exe Datei als Administrator via Python starten?

Verfasst: Donnerstag 4. Juli 2013, 19:05
von Hyperion
Du müsstest iirc ``subprocess.communicate`` nutzen. Damit kannst Du an den Prozess auch Daten senden.

Re: .exe Datei als Administrator via Python starten?

Verfasst: Donnerstag 4. Juli 2013, 19:14
von Astraioz
@Hyperion Erstmal Danke für deine Antwort. :D

Aber was bringt mir das wenn ich Daten an andere Prozesse schicke? Ich möchte das mit dem Passwort komplett rausnehmen :/

Re: .exe Datei als Administrator via Python starten?

Verfasst: Donnerstag 4. Juli 2013, 19:17
von Hyperion
Astraioz hat geschrieben: Aber was bringt mir das wenn ich Daten an andere Prozesse schicke? Ich möchte das mit dem Passwort komplett rausnehmen :/
Ach so... hm... also ich würde ja denken, dass das eher auf OS-Ebene und der dort verfügbaren Konfiguration zu lösen ist! Python "zaubert" da ja nicht, sondern führt brav das "runas"-Kommando aus.

Du müsstest es also zunächst schaffen, das Passwort bei diesem Kommando in einer Shell nicht mehr eingeben zu müssen - auf die gleiche Art und Weise kannst Du es dann per ``subprocess`` aufrufen :-)

Da solltest Du da mal Menschen fragen, die sich mit Windows-Administration auskennen!

Re: .exe Datei als Administrator via Python starten?

Verfasst: Donnerstag 4. Juli 2013, 19:43
von Andev
Hallo,

"runas" unterstützt aus Sicherheitsgründen prinzipiell nicht die automatische Übergabe von Passwörtern, sondern erfordert eine manuelle Eingabe.
Je nach Kontext gibt es eventuell mehrere Möglichkeiten, das trotzdem durchzuführen:
Unter Windows 7/Vista Professional (oder höher) gibt es den Switch /savecred für runas, der das Problem zumindest lokal umgehen sollte.
Die Windows-Server-Varianten unterstützen beliebige Nutzerkontexte im gesamten Netzwerk.
Eventuell ist PsExec hilfreich (Benutzername und Passwort können übergeben werden), ich habe es in diesem Zusammenhang aber noch nicht genutzt.
Wenn es nur ein einzelnes lokales Programm ist, lässt sich dessen Ausführung im Kompabilitäts-Tab automatisch auf den Administrator-Kontext umstellen.
Die Windows-API kann direkt aufgerufen werden, um Prozesse mit Benutzernamen und Passwort zu starten.

Es gibt noch genügend weitere Software, die die Passwortübergabe ermöglicht, aber ich kann weder zu deren Qualität noch Sicherheit etwas sagen.
Möglicherweise kennt auch jemand Tricks aus der Prozesskommunikation um die manuelle Eingabe zu automatisieren, da kann ich aber nicht helfen.

Re: .exe Datei als Administrator via Python starten?

Verfasst: Donnerstag 4. Juli 2013, 21:45
von Sirius3