Netzlaufwerk verbinden

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

Dienstag 20. September 2005, 12:48

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
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 20. September 2005, 13:54

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 Modvoice
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Dienstag 20. September 2005, 14:12

Danke :D

das 'r' im String hat schon geholfen.

Stephan
Michael

Dienstag 27. September 2005, 14:11

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
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 27. September 2005, 15:17

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 ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 27. September 2005, 15:17

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 Modvoice
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Mittwoch 28. September 2005, 02:49

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