9
votes

Python - Comment ouvrir la part de Windows à l'aide du nom d'utilisateur et du mot de passe

J'aimerais accéder à Windows Partager (ex. \ BackupServer \ Backups) du script Python. La part est protégée par nom d'utilisateur et mot de passe. Comment ouvrir cette action à l'aide du nom d'utilisateur et du mot de passe et, par exemple, énumérer son contenu?


0 commentaires

4 Réponses :


2
votes

Pourquoi ne montez-vous pas le partage associé à l'aide de la commande xxx

appeler user net à partir du module de sous-processus est directement en avant.


1 commentaires

La réponse fournit peu de perspicacité pourquoi et comment fonctionne la solution.



9
votes

en utilisant pywin32 code> (python pour les extensions de Windows), Accédez aux méthodes de réseau Windows dans le module win32wnet code>. win32wnet.wnetaddconnection2 () code> méthode permet Vous spécifiez le nom d'utilisateur et le mot de passe.

WNetAddConnection2(NetResource, Password, UserName, Flags)


1 commentaires

Un exemple de définition de NetResource: NetResource = Win32Wnet.netreSource () NetResource.lpremotename = R '\\ 10.0.0.0.1 \ Share'



12
votes

Exemple complet pour "Utilisation nette":

backup_storage_available = os.path.isdir(BACKUP_REPOSITORY_PATH)

if backup_storage_available:
    logger.info("Backup storage already connected.")
else:
    logger.info("Connecting to backup storage.")

    mount_command = "net use /user:" + BACKUP_REPOSITORY_USER_NAME + " " + BACKUP_REPOSITORY_PATH + " " + BACKUP_REPOSITORY_USER_PASSWORD
    os.system(mount_command)
    backup_storage_available = os.path.isdir(BACKUP_REPOSITORY_PATH)

    if backup_storage_available:
        logger.fine("Connection success.")
    else:
        raise Exception("Failed to find storage directory.")


0 commentaires

1
votes

Une belle bibliothèque qui enveloppe la commande 'nette utilise' ':

http://covenanteyes.github.io/py_win_unc/


0 commentaires