Python - How to open Windows share using user name and password

后端 未结 4 1573
礼貌的吻别
礼貌的吻别 2020-12-10 14:57

I would like to access Windows share (ex. \\backupserver\\backups) from Python script. Share is protected by user name and password. How to open this share using user name a

相关标签:
4条回答
  • 2020-12-10 15:22

    Using pywin32 (Python for Windows Extensions), access the windows networking methods in the win32wnet module. The win32wnet.WNetAddConnection2() method lets you specify username and password.

    WNetAddConnection2(NetResource, Password, UserName, Flags)
    

    Creates a connection to a network resource. The function can redirect a local device to the network resource.

    After the connection is active, access the share using regular directory and file methods.

    0 讨论(0)
  • 2020-12-10 15:24

    Why don't you mount the related share using the

    NET USE 
    

    command?

    Calling NET USE from through the subprocess module is straight forward.

    0 讨论(0)
  • 2020-12-10 15:28

    A nice library that wraps 'net use' command:

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

    0 讨论(0)
  • 2020-12-10 15:32

    Complete example for "NET USE":

    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 讨论(0)
提交回复
热议问题