简体   繁体   中英

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

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 and password and, for example list its content?

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.")

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.

Why don't you mount the related share using the

NET USE 

command?

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

A nice library that wraps 'net use' command:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM