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
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)