19-10-2022, 03:01 PM
Hola a todos,
Soy Rafa y estoy empezado poco a poco con esto de Python. Estoy intentando hacer mi primer script para controlar una unidad de red en entorno Windows y quiero ponerle algo de seguridad.
Lo que pretendo es que al ejecutar el script se mapee una unidad de red y que se elimine cuando el script termine.
Al principio usé este código:
Pero no quiero que la contraseña se vea. Aunque el script sólo lo voy a usar yo, no me gusta dejar contraseñas a la vista.
Así que de momento, lo que estoy probando es a solicitar la contraseña de acceso y que sea Windows quien controle si la contraseña es correcta o no.
Al final acabaré codificando la contraseña para poder automatizar el script pero aún no tengo claro como codificarla.
Había pensado en usar try - except para recoger el error de contraseña incorrecta. Por desgracia, en ningún caso llego a acceder al except:
No se ejecuta el exit() y el script falla porque no puede listar los archivos del directorio.
Si la contraseña es correcta, el script hace su trabajo.
Este es el código. ¿Me podéis decir como debo configurar el except?
Este es el error que recoge la consola:
Muchas gracias de antemano
Soy Rafa y estoy empezado poco a poco con esto de Python. Estoy intentando hacer mi primer script para controlar una unidad de red en entorno Windows y quiero ponerle algo de seguridad.
Lo que pretendo es que al ejecutar el script se mapee una unidad de red y que se elimine cuando el script termine.
Al principio usé este código:
Código:
os.system("net use \\\\miservidor\c$ /user:Usuario1 12345678" )
Pero no quiero que la contraseña se vea. Aunque el script sólo lo voy a usar yo, no me gusta dejar contraseñas a la vista.
Así que de momento, lo que estoy probando es a solicitar la contraseña de acceso y que sea Windows quien controle si la contraseña es correcta o no.
Al final acabaré codificando la contraseña para poder automatizar el script pero aún no tengo claro como codificarla.
Había pensado en usar try - except para recoger el error de contraseña incorrecta. Por desgracia, en ningún caso llego a acceder al except:
No se ejecuta el exit() y el script falla porque no puede listar los archivos del directorio.
Si la contraseña es correcta, el script hace su trabajo.
Este es el código. ¿Me podéis decir como debo configurar el except?
Código:
import os
import ctypes
from getpass import getpass
try:
password = getpass("Escribe la contraseña de acceso: ")
os.system("net use \\\\miservidor\c$ /user:Usuario1 " + password )
except:
ctypes.windll.user32.MessageBoxW(0, "Contraseña incorrecta", "Error!!", 0x00010000)
exit()
servidor = os.listdir ('//miservidor/c$')
Este es el error que recoge la consola:
Cita:Traceback (most recent call last):
File "C:\Scripts\prueba.py", line 35, in <module>
servidor= os.listdir ('//miservidor/c$')
OSError: [WinError 1326] El nombre de usuario o la contraseña no son correctos: '//miservidor/c$'
Muchas gracias de antemano