Me gustaría acceder a Windows share (ej. \ Backupserver \ backups) desde el script de Python. Compartir está protegido por nombre de usuario y contraseña. ¿Cómo abrir este recurso compartido usando el nombre de usuario y la contraseña y, por ejemplo, enumerar su contenido?Python - Cómo abrir Windows comparte usando el nombre de usuario y la contraseña
Respuesta
¿Por qué no montar la información compartida relacionada con el comando
NET USE
?
Llamar a NET USE
desde el módulo de subproceso es sencillo.
Usando pywin32
(Python para Extensiones de Windows), acceda a los métodos de redes de Windows en el módulo win32wnet
. El método win32wnet.WNetAddConnection2()
le permite especificar el nombre de usuario y la contraseña.
WNetAddConnection2(NetResource, Password, UserName, Flags)
crea una conexión a un recurso de red. La función puede redirigir un dispositivo local al recurso de red.
Después de que la conexión esté activa, acceda al recurso compartido utilizando el directorio normal y los métodos de archivo.
Un ejemplo de definición de NetResource: 'NetResource = win32wnet.NETRESOURCE()' 'NetResource.lpRemoteName = r '\\ 10.0.0.1 \ share'' –
Ejemplo completo de "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.")
Una buena biblioteca que envuelve 'net use' comando:
- 1. Verificar el nombre de usuario y la contraseña de la cuenta de Windows
- 2. Cómo almacenar mejor la información de usuario y el nombre de usuario y la contraseña
- 3. Cómo obtener el token de github usando el nombre de usuario y la contraseña
- 4. nombre de usuario y contraseña en sqlite3
- 5. Comprobando el nombre de usuario y la contraseña en Android
- 6. Cómo establecer el nombre de usuario y la contraseña smtp usando ini_set
- 7. Quitar el nombre de usuario SVN y la contraseña de Eclipse no funciona en Windows 7
- 8. ¿Cómo configuro el nombre de usuario y la contraseña de la aplicación Tomcat Manager para NetBeans?
- 9. Autenticación de Windows solicita nombre de usuario/contraseña
- 10. ¿Suplantar con nombre de usuario y contraseña?
- 11. TeamCity Nombre de usuario/contraseña
- 12. Base de datos + Autenticación de Windows + Nombre de usuario/Contraseña?
- 13. cómo abrir url necesita nombre de usuario y contraseña con uiwebview?
- 14. cómo configurar el nombre de usuario y la contraseña del servicio de Windows a través de la línea de comandos
- 15. Curl para solicitar un nombre de usuario y contraseña
- 16. cómo usar el nombre de usuario y la contraseña suministrados para leer un archivo en Java
- 17. Cómo encontrar el nombre de usuario y la contraseña para la base de datos mysql
- 18. HttpListener: cómo obtener el usuario y la contraseña de http?
- 19. Almacenamiento de nombre de usuario/contraseña en Mac usando Java
- 20. Obteniendo el nombre de usuario/contraseña del usuario conectado en Windows
- 21. Almacenar la contraseña por separado desde el nombre de usuario
- 22. Cómo usar AndroidHttpClient (nivel de API 8) y contraseña de contraseña de nombre de usuario?
- 23. ¿Cómo puedo proteger el nombre de usuario y la contraseña de MySQL de la descompilación?
- 24. Git - Cómo usar el archivo .netrc en Windows para guardar el usuario y la contraseña
- 25. ¿Cómo incluir el nombre de usuario y la contraseña de proxy para el proxy?
- 26. Pasando nombre de usuario y contraseña a svcutil.exe?
- 27. cómo configurar el nombre de usuario/contraseña en HTTPGet
- 28. Cómo cifrar el nombre de usuario y la contraseña en Web.config en C# 2.0
- 29. Autenticación Java LDAP con nombre de usuario y contraseña
- 30. Android: ¿Almacenamiento de nombre de usuario y contraseña?
tiene usted razón! Solución realmente fácil y funciona bien. – Rafal