Seite 1 von 1

Akzentproblem

Veröffentlicht: 14. Dez. 2017 - 09:51 Uhr
von steph.prevot
Hallo,
ich habe Probleme mit dem „é“ beim Umstellen meiner Windows 7-PCs von statischen IPs auf DHCP. Meine Batch-Datei läuft manuell einwandfrei, aber mit WAPT habe ich ein Kodierungsproblem. Ich habe also versucht, UTF-8 durch CP850 zu ersetzen:

# -*- coding: cp850 -*-
from setuphelpers import *

uninstallkey = []

def install():
print("Updating IP interfaces")
run (r'reg import DHCP-CLIENT.reg')
run (u'netsh interface ip set dns "Local network connection" dhcp')
run (u'netsh interface ip set address "Local network connection" dhcp')

Aber ich habe wieder mein Kodierungsproblem mit der Meldung:
Updating IP interfaces
'ascii' codec can't encode characters in position 42-44: ordinal not in range(128) : faulty string is 'u'netsh interface ip set dns "Connection "on local network" dhcp

Vielen Dank für Ihre Hilfe

Betreff: Akzentproblem

Veröffentlicht: 14. Dez. 2017 - 17:40 Uhr
von dcardon
Vermeiden Sie Akzentzeichen in den Befehlen zum Ausführen von Befehlen möglichst. Die Eingabe- und Ausgabekodierung ist nie vollständig kontrollierbar (dies ist kein Problem von WAPT an sich, sondern ein Problem von cmd.exe).

Verwenden Sie stattdessen besser WMI-Befehle, die in Python verfügbar sind, etwa so: `

import wmi
nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
for nic in nic_configs:
nic.EnableDHCP()`.

Vergessen Sie nicht, vor dem Wechsel zu prüfen, ob im Paket eine IP-Adresse für Ihren Rechner verfügbar ist!

Betreff: Akzentproblem

Veröffentlicht: 15. Dez. 2017 - 12:50 Uhr
von steph.prevot
Hallo,

vielen Dank für die Hilfe.
WMI übersteigt meine Kenntnisse bei Weitem, daher habe ich ein kleines Skript geschrieben, das beim Anmelden ausgeführt wird und seine Aufgabe perfekt erfüllt.

Viele Grüße!