Seite 1 von 1

[GELÖST] Netzlaufwerk und Installation

Veröffentlicht: 10. Oktober 2019 - 10:38 Uhr
von Herzas
Hallo zusammen, ich installiere gerade WAPT neu und möchte diesmal auf einen Replikationsserver verzichten. Deshalb habe ich mich entschieden, WAPT-Pakete für meine größten Softwareprogramme zu erstellen. Ganz einfach: `
def install():
cmd = '\\server_north\software_folder\large_software\setup.exe'`.
Wie üblich erhalte ich natürlich die Fehlermeldung:
„Der angegebene Pfad wurde nicht gefunden.“
Ich habe herausgefunden, dass der WAPT-Dienst unter einem lokalen Systemkonto (NT_Authority\System) läuft, und dieses Konto ist für Netzlaufwerke mit meinem Samba-Domänencontroller problematisch.
Also habe ich die Sitzungseinrichtungsfunktion von WAPT ausprobiert, und siehe da, es funktioniert!
Allerdings nur, wenn der Benutzer Zugriff auf den entsprechenden Netzwerkpfad hat, dieser geöffnet ist und er sein Passwort mindestens einmal eingibt.

Ich habe also einen Ausgangspunkt: Mit dem Befehl
cmd = 'net use * \\serveur_nord\dossierlogiciel\groslogiciel\ /USER:login mdp'
funktioniert es lokal problemlos, aber über wapt bleibt es hängen. Mir fehlt wohl ein ' ' oder ein " ".

Abschließend möchte ich noch erwähnen, dass ich für jeden Vorschlag offen bin, der es mir ermöglichen würde, auf diese Replikationsserver zu verzichten.

Betreff: Netzlaufwerk und Installation

Veröffentlicht: 12. Oktober 2019 - 11:19 Uhr
von Sfonteneau
Das Übertragen eines Passworts im Klartext in einem WAPT-Paket ist nicht optimal.

Wollen Sie es unbedingt über SMB übertragen?

Ich empfehle stattdessen die Einrichtung eines kleinen Webservers, z. B. Nginx, Apache oder etwas Ähnliches, und dann wget im Paket zu verwenden.

Betreff: Netzlaufwerk und Installation

Veröffentlicht: 14. Oktober 2019 - 8:34 Uhr
von nliaudat

Code: Alle auswählen

import win32wnet

wnet_connect(host, username, password)
#dès la connexion établie, l'accès au dossier est possible.

def wnet_connect(host, username, password):
    unc = ''.join(['\\\\', host])
    try:
        win32wnet.WNetAddConnection2(0, None, unc, None, username, password)
    except Exception, err:
        if isinstance(err, win32wnet.error):
            # Disconnect previous connections if detected, and reconnect.
            if err[0] == 1219:
                win32wnet.WNetCancelConnection2(unc, 0, 0)
                return wnet_connect(host, username, password)
        raise err
Sie erstellen einen schreibgeschützten Benutzer namens wapt-install in Ihrem Softwareordner, der keine weiteren Zugriffsrechte besitzt

Ein Beispiel, wie man den nächstgelegenen Server anhand des Gateways auswählt:

Code: Alle auswählen

def getdownloadserver():
    #### Get gateway and set depending server
    location = str(get_default_gateways()).split('.')[2]  ## third octet of gateway ip address

    if location == 0 : 
        return "10.0.0.X"
    elif location == 1 : 
        return "10.0.1.X"
    elif location == 2 : 
        return "10.0.2.X"
    else :
        return "10.0.0.X"

Betreff: Netzlaufwerk und Installation

Veröffentlicht: 14. Oktober 2019 - 09:15 Uhr
von Sfonteneau
Denken Sie daran, eine Kopie zu erstellen, anstatt das Installationsprogramm direkt vom Netzlaufwerk zu starten. Dadurch lassen sich einige Probleme vermeiden