Page 1 sur 1

[RESOLU] Lecteur reseau et installation

Publié : 10 oct. 2019 - 10:38
par Herzas
Bonjour tout le monde je suis sur une nouvelle installation wapt et pour celle la j'aimerai me passer de serveur de réplication. Du coup j'ai choisie de créer des paquet wapt pour mes logiciels les plus volumineux. Donc quelque chose assez simple du style :
def install():
cmd = '\\serveur_nord\dossierlogiciel\groslogiciel\setup.exe'
bien sur comme je le fait en fonctionnement classique j'ai se merveilleux message erreur :
"Le chemin d'accès spécifié est introuvable"
Ainsi j'ai découvert que : Le service WAPT tourne en compte système local (NT_Authority\System) et que se compte pour les lecteur réseau c'est compliquer avec mon contrôleur de domaine en samba.
Du coup j'ai tenter la fonction le session setup de wapt et la miracle sa fonctionne.
Sauf que non XX malheureusement sa ne fonctionne que si l'utilisateur dispose des droits accès a cette emplacement réseau et qu'il est ouvert et rentrer ses mots passe au moins une fois.

J'ai donc un début de piste : avec la commande
cmd = 'net use * \\serveur_nord\dossierlogiciel\groslogiciel\ /USER:login mdp'
en local pas de soucie mais via wapt sa coince il doit me manquer un ' ' ou un " "

Enfin je suis ouvert a tout proposition qui me permettrai de me passer de ses serveurs de réplication.

Re: Lecteur reseau et installation

Publié : 12 oct. 2019 - 11:19
par sfonteneau
Mettre un mot de passe en clair dans un paquet wapt, pas top,

Tu veux absolument le faire en smb ?

Je te conseil plutôt de monter un petit serveur web. Nginx, apache ou autre ... et dans ton paquet de faire un wget

Re: Lecteur reseau et installation

Publié : 14 oct. 2019 - 08:34
par nliaudat

Code : Tout sélectionner

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
Tu crées un utilisateur wapt-install en lecture seule sur le dossier de tes logiciels et sans aucun autre accès

Un exemple pour sélectionner le serveur le plus proche en fonction de la passerelle :

Code : Tout sélectionner

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"

Re: Lecteur reseau et installation

Publié : 14 oct. 2019 - 09:15
par sfonteneau
N'oubliez pas de faire une copie plutôt que de lancer directement l'installe depuis le lecteur réseau. Cela évite un certain nombre de problème