Subprocess als Windows Administrator

  • Kann mir jemand nen Tip geben wie ich einen Kommandobefehl via subprocess als Admin ausführen kann?
    OS Win10

    Ziel soll es sein über eine GUI via netsh die IP-Adresse zu ändern.

  • Ich habe bereits gegoogled. Den gleichen Beitrag bereits ausprobiert.


    Code
    import subprocess as sp
    prog = sp.Popen(['runas', '/noprofile', '/user:ptttr', 'netsh interface ip set address "Ethernet" static 192.168.1.2 255.255.255.0 192.168.1.1'],stdin=sp.PIPE)
    prog.stdin.write('pass')
    prog.communicate()

    funktioniert so leider nicht. Mein Benutzerkonto hat zwar Admin-Rechte, aber wenn ich den Netsh-Befehl manuell in die Kommandozeile eintrage ( ohne rechtsklick: als Admin ausführen) fehlen ihm leider die Rechte. Fürchte Python hat gerade das gleiche Problem.

  • Ich habe es bisher nicht geschafft das Passwort automatisiert an den subprocess zu übergeben.

    Starte ich es wie folgt, ist es möglich das Passwort manuell einzutragen. Diese Variante funktioniert.

    Code
    import subprocess as sp
    prog = sp.Popen(['runas', '/noprofile', '/user:Administrator', 'cmd'])

    Hat vielleicht noch jemand eine Idee?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!