Logische Laufwerke

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
steph4py
User
Beiträge: 5
Registriert: Samstag 1. April 2017, 19:37

Hallo zusammen!

Habe ein sehr einfaches Problem das sich nicht so ganz einfach lösen lässt.

Ich möchte die logischen Lauferke in einem Skript auslesen. Das funktioniert ja auch sehr einfach, z.B. GetLogicalDrives() von der win32api. Es gibt da auch noch andere Wege, allerdings alle mit dem selben Ergebnis.

Wenn ich mein Skript unter Windows aus der Eingabeaufforderung (Admin) starte, dann werden mir nur die logischen Laufwerke wie z.B. C: angezeigt.
Ich will aber alle Laufwerke sehen, inklusive verbundener Netzlaufwerke.
Wenn ich diesen Part einzeln unter dem aktuell angemeldeten Benutzer ausführe, dann sehe ich alle Laufwerke. Jedoch nicht als Admin.

Leider muss ich das Skript für andere Aufaben zwingend als Administrator ausführen. Kennt jemand eine Möglichkeit alle "Laufwerke" als Admin anzuzeigen? Oder gibt es eine Möglichkeit innerhalb des Skriptes auf den angemeldeten Benutzer zu wechseln?

Wäre echt dankbar für Tips und Anregungen!
steph4py
User
Beiträge: 5
Registriert: Samstag 1. April 2017, 19:37

Ist mein Denkansatz jetzt einfach falsch oder gibt es da keine richtige Lösung?

Hatte keiner ähnliche Probleme bis jetzt?
__deets__
User
Beiträge: 14540
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist sehr Windows-spezifisch, und hat im Grunde mit Python nix zu tun. In der Doku zu deiner Funktion steht noch nicht mal was zu deinem beschriebenen Verhalten... Nach meinen beschraenkten Kenntnissen gibt es unter Windows auch keine Privilegien-Eskalation innerhalb eines Prozesses. Du kannst nur einen weiteren Prozess starten, und der hat dann Admin-Privilegien - aber das wird gesteuert ueber einen resourcen-Eintrag im Exe, ist also nicht einfach nur ein subprocess.Popen...

Langer Rede, kurzer Sinn: frag besser in spezifischen Windows Programmierforen nach.
steph4py
User
Beiträge: 5
Registriert: Samstag 1. April 2017, 19:37

Ok, danke!
Benutzeravatar
DeaD_EyE
User
Beiträge: 1021
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Hallo,

zu dem Problem mit dem Auslesen der virtuellen Laufwerke, kann ich leider absolut gar nichts sagen.
Wenn du unter Windows Admin-Rechte für ein Programm benötigst, so muss dieses ausführbar sein, was ein Python-Programm nicht ist.
Eine ziemlich billige aber effektive Lösung wäre z.B. PyInstaller: http://www.pyinstaller.org/

Die Ausführbare Datei erstellst du dann mit --uac-admin. Mit viel Glück werden alle benötigten Abhängigkeiten gefunden und integriert. Wenn man dem Tool sagt, dass er alles in die ausführbare Datei zu packen, funktioniert das mit dem anfordern der erhöhten Rechte nicht.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten