Deshabilitar el uso obligatorio de controladores firmados en Windows

Las nuevas versiones de Windows  se van sucediendo y con ello la seguridad del sistema se va mejorando. Muchas veces esto implica que se nos complica un poquito más la vida a los desarrolladores. Este es el caso de la instalación de controladores  que no están firmados digitalmente en sistemas de 64 bits posteriores a Windows 7.

Los sistemas operativos Windows de Microsoft, se pueden encontrar en dos estructuras como son las versiones de 32 bits como de 64 bits. Estas opciones cuentan con ciertas diferencias. Un ejemplo claro, es que en el caso de que decidamos instalar un conjunto de controladores que no posean firmas digitales, sólo podremos realizar el proceso si nuestro sistema operativo es de 32 bits. Esto es debido a que los sistemas operativos Windows de 64 bits no aceptan de manera predeterminada la instalación de controladores no firmados digitalmente, apareciendo un error como el que se puede ver a continuación al intentar instalarlos:

win8_unsigned_inf

Para solucionarlo buscamos en “Configuración” el “Inicio Avanzado”. En Windows 8 se encuentra en “Uso general” y en Windows 10 en “Actualización y Seguridad” --> “Recuperación”.

Una vez hemos encontrado, la opción le damos a “Reiniciar ahora” y se nos reiniciará el equipo. Después le damos clic en “Solucionar problemas

windows_inicio-avanzado1

Y después en “Opciones Avanzadas

windows_inicio-avanzado2

Después hacemos clic en  “Configuración de Inicio

windows_inicio-avanzado3

Luego le damos clic en “Reiniciar

windows_inicio-avanzado4

Tras reiniciar el PC, nos aparecerán las opciones de inicio y presionamos la tecla F7.

windows_inicio-avanzado5

Ahora ya podremos  instalar el driver o controlador. Cuando nos dispongamos a realizar la instalación, ya nos aparecerá la ventana de siempre que pregunta al usuario que si se acepta la instalación de un driver no firmado digitalmente.

aceptar la instalación de controladores sin firma

Si se vuelve a reiniciar el equipo, nuevamente se habilitará el uso obligatorio de controladores firmados.

Como hemos visto, podemos seguir instalando drivers o controladores no firmados en Windows 8 y 10, pero tras deshabilitar temporalmente la obligatoriedad de que deban estar firmados. Es un mecanismo que protege al usuario final de instalar drivers de dudosa procedencia, pero que tiene el coste de tener que hacerse el procedimiento descrito en esta entrada, hasta que el driver esté firmado.

Frase Memorable 3


Albert Pike dijo, "Lo que hacemos por nosotros mismos muere con nosotros. Lo que hacemos por los demás y por el mundo permanece y es inmortal."


Crear una copia de seguridad de los Servicios de Google

A diario desde que apareció Google, usamos una gran variedad de sus servicios como pueden ser GMail, Drive, Calendar o Hangout, por decir alguno de los más conocidos.  También es bastante frecuente encontrarnos con empresas que contratan los Servicios de Google y así externalizan algunos servicios como el del correo electrónico, siendo acompañados casi siempre por otros como el calendario, agenda, intercambio de ficheros... que ofrece Google dentro de su gran abanico de productos.

Google-Services

El problema viene el día que quieres crear una copia de tu cuenta, la cual seguramente esté vinculada a un montón de servicios de cuyos datos quieres guardarte copia, bien sea porque quieres migrar la cuenta, quieras cerrarla o por simple precaución de contar con una copia.

Para realizar dicha tarea, Google nos proporciona una herramienta para hacerlo. La herramienta la podemos encontrar entrando en la sección "Mi Cuenta", haciendo click en la parte superior derecha donde la inicial de nuestro nombre o foto de nuestro perfil. Una vez dentro debemos ir a "Información personal y privacidad" y dentro de la sección seleccionar "Controlar tu contenido". Una vez seleccionado veremos una sección que pone "Descargar tus datos" donde deberemos dar a "CREAR ARCHIVO".

Una vez dentro encontraremos una enumeración de todos los servicios de nuestra cuenta, de los cuales podremos hacer una copia si lo deseamos.

Google_services_backup

Podremos seleccionar todos los servicios o sólo algunos para incluirlos dentro de nuestra copia de seguridad. Algunos servicios permiten decidir en qué formato exportar los datos, o si queremos crear sólo copia de un conjunto reducido del servicio. Por ejemplo, el servicio Drive te permite elegir en qué formato exportar los documentos de Google y GMail te permite decidir si quieres hacer una copia completa o solo algún subconjunto de emails.

Una vez tengamos decidido los servicios que vamos a incluir en nuestra copia de seguridad, tendremos que indicar en qué formato de compresión queremos guardar toda la información, y si queremos que la copia se nos mande por un email cuando esté lista o se guarde en el servicio Drive.

Google_services_backup_2

Dependiendo la cantidad de datos que tengamos en los servicios que vamos a incluir en la copia, la operación de la generación de la copia puede llegar a tardar varias horas. En cualquier caso seremos notificados cuando esté lista. La copia de seguridad generada será particionada en varios partes con el objetivo de ser más fácil su descarga y cada una de las partes no superará los 2 GB de tamaño.

Debo puntualizar que Google se toma muy en serio la propiedad de los datos y en el caso de servicios como Google Drive, sólo incluirá en la copia aquellos archivos de los cuales estés marcado como propietario. Por lo tanto, si tienes archivos compartidos, de los cuales no eres propietario, te aconsejo que hagas una descarga manual por carpetas desde el Google  Drive. Puedes hacerlo usando la opción "Descargar" del menú accesible mediante click con el botón secundario del ratón, ya sea encima de la carpeta o archivo que quieras descargar.

Espero que con toda esta información ahora tengáis más claro cómo realizar copias de seguridad de los distintos Servicios de Google.

Lanzar procesos en la consola de comandos de Windows

Si sueles realizar scripts .BAT para el intérprete de la consola de comandos de Windows, te habrás encontrado seguramente en la necesidad de lanzar procesos. Dependiendo de las necesidades que tengamos a la hora de lanzar esos procesos, diferenciaremos entre la necesidad de mantener orden de ejecución secuencial o que sea en paralelo. Léase también que cuando hablamos de un proceso podemos referirnos tanto a un ejecutable como a otro script.

Los dos comandos más habituales para lanzar procesos, son el comando CALL y el comando START. El comando START puede que sea mas flexible que el CALL cuando hablamos de  lanzar procesos, ya que puede sustituirlo en la mayoría de los casos.

El comando CALL se usa para llamar a un proceso, saltando la ejecución al proceso que se llama y ejecutándolo hasta el final. Mientras se ejecuta el proceso invocado con el CALL, la ejecución principal desde donde se invoca al proceso, queda bloqueada y sólo es reanuda cuando se termina la ejecución del proceso invocado.

Por otro lado, el comando START llama a un proceso y lo lanza en una ventana nueva (como comportamiento por defecto). Desde el momento que se invoca el proceso, éste se ejecuta en paralelo con la ejecución principal. A efectos prácticos conseguimos ejecutar en paralelo la ejecución principal con la del proceso.

Para que quede un poco más claro, puedes probar la diferencia entre ambos con el siguiente código en el que primero se ejecuta un CALL al comando ping, luego se hace lo mismo usando START sin lanzar nueva ventana y por último usando START creando nueva ventana y esperando a que termine su ejecución.

@ECHO OFF

ECHO Execution using CALL
ECHO -------------------------------------------
ECHO Main execution running...
ECHO Calling to ping...

call ping google.es
ECHO.
ECHO Continue main execution
TIMEOUT 5 > NUL
ECHO Main execution finished!
PAUSE

cls

ECHO Execution using START
ECHO -------------------------------------------
ECHO Main execution running...
ECHO Calling to ping...

start /b ping google.es
ECHO.
ECHO Continue main execution
TIMEOUT 5 > NUL
ECHO Main execution finished!
PAUSE

cls

ECHO Execution using START with waiting
ECHO -------------------------------------------
ECHO Main execution running...
ECHO Calling to ping...

start /w ping google.es
ECHO.
ECHO Continue main execution
TIMEOUT 5 > NUL
ECHO Main execution finished!
PAUSE

El primer y el tercer ejemplo son ejecuciones secuenciales, mientras que en el segundo cuando se lanza el proceso, éste se ejecuta en paralelo con la ejecución principal.

Como esto lo mejor es probarlo para poder verlo, os animo a copiarlo en un archivo de texto y renombrar la extensión a .BAT para poder ejecutarlo con doble click. Así lo podréis ejecutar tantas veces como os haga falta.

También tenéis disponible el script en Github:

test_call-VS-start.bat