Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ejecutar archivo con permisos de administardor en equipo remoto
#1
Hola , os pongo en actecedentes .
Tengo un servir con ubuntu y mysql , y una conexion entre el servidor y los clientes que son windows , desde el servidor bajo demanda y mediante la conexion (script cliente en python en el servidor ) el servidor solicita la ejecucion de un archivo ( en el cliente hay un script servidor en python compilado con py2exe(si no recuerdo mal el nombre) que esta escuchando por un puerto la peticion del servidor ) cuando el servidor lo solicita el cliente lo ejecuta y le devuelve el resultado al servidor . Todo esto funciona a la perfeccion .

Todo esto se ha realizado para tener acceso a un lector de dni que esta en el pc cliente y que cuando se solicita desde la web una lectura del documento mediante la conexion y un lector de dni tb desarrollado en python este le devuelva al servidor los datos necesarios para continuar con el proceso de verificacion del usuario.

Pues bien de vez en cuando y no en todos los clientes , windows hace aparecer unas dll que bloquean la lectura dando un error en la pagina web de datos no leidos (esto es controlado por mi ) , la solucion consiste en renombrar esa dll con lo que se quita el bloqueo en el lector y se vuelven a obtener los datos de manera correcta , la intencion es desde php (web) lanzar un exec al cliente para que ejecute el archivo que corrige el problema y aqui es donde estoy atascado.

El archivo hay que ejecutarlo como administrador y es lo que no consigo hacer desde python , es decir , necesito lanzar la ejecucion de un bat que renombra las dll como administrador atraves de la conexion , si me conecto al pc del cliente y ejecuto el archivo como administrador soluciona el problema , pero tengo mas de 200 pcs con este sistema y es inviable cuando hay este problema ir uno a uno lanzando el proceso.


Alguna idea ?
Responder
#2
Hola, puedes usar el comando Runas de Windows para ejecutar un archivo como el usuario administrador. Para ejecutarlo desde Python e ingresar la contraseña automáticamente (dado que el comando no lo permite) tendrás que usar el módulo subprocess.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)