Esta configuración te permite mejorar la seguridad de Windows 10

Aunque casi siempre solemos hablar de CMD como la consola de Windows, el sistema operativo de Microsoft tiene otra herramienta bastante más potente y completa para administrar el sistema operativo a nivel avanzado: PowerShell. Esta consola está pensada para administradores ya que permite tener control sobre todo el sistema operativo y, mediante scripts y comandos, realizar todo tipo de tareas y ajustes. PowerShell lo utilizan muchas aplicaciones en segundo plano para realizar cambios en el sistema, y algunas de ellas incluso lo pueden utilizar sin darnos cuenta para poner en peligro la seguridad de nuestro PC.

Los scripts son muy peligrosos. Un script es un sencillo programa escrito en código que se ejecuta linealmente en nuestro ordenador. Podemos crear y ejecutar nuestros propios scripts para automatizar tareas, o las aplicaciones pueden ejecutarlos para completar determinadas configuraciones y tareas.

Por defecto, Microsoft evita que ni las aplicaciones, ni nosotros mismos podamos ejecutar scripts en Windows 10. No, al menos, scripts que no estén firmados y sean de total confianza. El problema llega cuando tenemos que ejecutar nosotros mismos un script. En este caso nos encontraremos con un mensaje de error, bastante largo, que nos impide continuar.

Windows 10 cuenta con varios niveles de seguridad a la hora de ejecutar scripts. Si no vamos a necesitar usar esta característica lo mejor que podemos hacer es dejarla por defecto. Pero en caso de tener que cambiarla, a continuación os explicamos cómo hacerlo y qué posibilidades tenemos.

Cómo ver las políticas de ejecución de scripts en PowerShell

Antes de llegar a ver el error, podemos comprobar la configuración de políticas para la ejecución de scripts que tenemos configuradas en Windows 10 abriendo una ventana de PowerShell (con permisos de administrador) y ejecutando en ella el siguiente comando:

Get-ExecutionPolicy -List

Podremos ver varios niveles de permisos y la política de ejecución asignada a cada uno de ellos. Podemos ver los permisos de la máquina, es decir, scripts que pueda ejecutar el sistema operativo como tal, y scripts de usuario, ejecutados por nosotros mismos o aplicaciones.

Políticas ejecución scripts PowerShell

Cómo cambiar las políticas de ejecución de scripts en Windows 10

Para cambiar la política de ejecución, lo que debemos hacer es conocer los distintos niveles de privilegios que podemos asignar a cada uno de los niveles, o Scopes.

Los valores que podemos asignar a cada scope, de más seguro a más inseguro, son:

  • Restricted: bloqueada la ejecución de script sobre todas las demás condiciones.
  • RemoteSigned: solo permite la ejecución de scripts firmados con una firma remota y verificada.
  • AllSigned: permite la ejecución de cualquier script firmado, tanto local como remoto.
  • Unrestricted: sin restricciones. Se pueden ejecutar todos los scripts, incluso los que no estén firmados.

En caso de tener que cambiar cualquiera de estos permisos, lo que debemos hacer es, desde dentro de la propia ventana de PowerShell con permisos de Administrador, ejecutar el siguiente comando:

Set-ExecutionPolicy [nivel] -Scope [scope]

Por ejemplo, si queremos que el usuario local (CurrentUser) pueda ejecutar cualquier script lo que debemos escribir es:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

O si lo que buscamos es que la máquina solo pueda ejecutar scripts que estén firmados de forma remota, entonces el comando sería:

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Si tenemos problemas al instalar algunas aplicaciones o ejecutar algunos scripts fiables y seguros, lo más seguro es que se solucionen configurando el nivel de privilegios para la ejecución de scripts de CurrentUser en «RemoteSigned»

Todos los niveles Unrestricted suponen un grave riesgo para nuestro PC. Debemos tener mucho cuidado si optamos por configurar uno de estos.