Netzlaufwerk verbinden

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Hallo,

ich möchte mit einem Pythonscript mehrere Netzlaufwerke auf einen W2k-Rechner verbinden.
Gebe ich in die Eingabeaufforderung den Befehl net use H: \\Server\Ordner Passwort /user:username ein, so wird das Laufwerk verbunden. Wenn ich im Script

Code: Alles auswählen

os.system('net use H: \\Server\Ordner Passwort /user:username')
verwende, so passiert nix. Es erscheint für den Bruchteil einer Sekunde die Eingabeaufforderung (das ist bei os.system normal) Es erscheint aber auch keine Fehlermeldung.

Hat jemand einen Tip für mich?

Stephan
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du müsstest

Code: Alles auswählen

os.system('net use H: \\\\Server\\Ordner Passwort /user:username')
# oder
os.system(r'net use H: \\Server\Ordner Passwort /user:username')
nutzen, da dein String Backslashes enhält, die sonst escaped würden.

Alternativ kannst du mit pywin32 vermutlich auch direkt Netzwerklaufwerke verbinden und bekommst die Fehlermeldungen in verarbeitbarerer Form.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Danke :D

das 'r' im String hat schon geholfen.

Stephan
Michael

Hallo,
ich habe das selbe ausprobiert.

Code: Alles auswählen

os.system('net use P: \\192.168.25.212 PW /user:root')
Ich bekomme immer den Wert 2 zurück.

Weis jemand was daran falsch ist?

Gruss Michael

Edit (Leonidas): Code in Python-Tags gesetzt.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich würde /savecred verwenden... Dann mußt du das Passwort nur einmal eingeben, und danach merkt es sich Windows... d.h. das machst du einmal per Hand auf der Console, dann braust du in deinem Skript kein Passwort mehr unter zu bringen ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ja, die Syntax des net use Befehls ist einfach falsch.

Sie lautet:

Code: Alles auswählen

net use LAUFWERK: \\SERVER\FREIGABENAME PASSWORT /user:USERNAME
Du hast aber den Freigabenamen vergessen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Und weder die Backslashes escaped noch einen raw-String (r'') benutzt. Wurde ja auch nur vorher gepostet :wink:
Antworten