Como mantener sincronizado OneDrive en un Servidor Windows sin necesidad de un usuario logado

Es posible que en alguna ocasión os haya surgido la necesidad de instalar OneDrive en un servidor Windows para por ejemplo mantener sincronizada en local una biblioteca de Sharepoint o alguna carpeta y os habréis encontrado con la sorpresa de que OneDrive no funciona como un servicio y por tanto si el usuario no se encuentra logado no se realiza la sincronización, pues bien, en esta entrada voy a enseñaros un truco para solucionarlo.

Requisitos

  • Servidor con Windows Server 2008 R2 o superior.
  • OneDrive instalado y configurado con las carpetas/bibliotecas/etc sincronizadas en la sesión de un usuario del servidor (puede ser usuario local o de dominio).
  • Usuario con los permisos necesarios para crear tareas programadas.

Configuración tarea programada

Para mantener la sincronización activa sin necesidad de un usuario logado vamos a crear una tarea programada de Windows que se encargue de mantener activa la sincronización.

Abrimos el programador de tareas de Windows y pulsamos sobre Crear tarea.

En la pestaña General realizamos la siguiente configuración:

  • Ponemos un nombre a nuestra tarea programada.
  • Configuramos una cuenta con permisos de administrador o bien la cuenta del usuario donde previamente hemos hecho la configuración de OneDrive.
  • Marcamos la opción “Ejecutar tanto si el usuario inició sesión como si no”.
  • Marcamos el check “Ejecutar con los privilegios más altos”.

En la pestaña Desencadenadores creamos un desencadenador por cada hora del día. Se que existe la posibilidad de crear un único desencadenador e indicarle que se repita cada hora pero si por ejemplo alguien reiniciara el servidor la tarea no se ejecutaría hasta el día siguiente a la hora indicada y esto en función de la criticidad del servicio que utilice esta sincronización puede ser importante o no.

No os preocupeis si pensais que se van a abrir varios OneDrive uno por cada hora porque lo configuraremos para que si ya se está ejecutando una instancia no haga nada.

Cada uno de los desencadenadores debe llevar la siguiente configuración:

  • Seleccionamos Diariamente.
  • Modificamos la hora por la que corresponda.

Aceptamos para guardar la programación.

Repetimos la operación con cada hora del día debiendo de quedar al final como os muestro a continuación.

En la pestaña Acciones creamos una nueva acción con la siguiente configuración:

  • Acción: Iniciar un programa.
  • Programa o script: C:\Users\USERNAME\AppData\Local\Microsoft\OneDrive\OneDrive.exe (cambiar USERNAME por el nombre del usuario donde habéis configurado OneDrive).

Aceptamos para guardar la acción.

Por último en la pestaña Configuración marcamos el check “Ejecutar tarea lo antes posible si no hubo inicio programado”.

Y aseguraros que en “Aplicar la siguiente regla si la tarea ya está en ejecución” esté el valor “No iniciar una instancia nueva”, esto hará que no nos habrá una instancia de OneDrive por cada hora del día.

Aceptamos la ventana del programador de tareas y de esta forma tan sencilla nuestro OneDrive permanecerá constantemente sincronizado aunque no tengamos ningún usuario con la sesión iniciada.

Espero os haya sido de utilidad.

Entradas relacionadas

Deja un comentario