domingo, 26 de septiembre de 2021

Eliminar credenciales de red webdav en windows

Contexto:

Trabajo para una compañía que maneja datos personales. Esos datos personales solo pueden permanecer en el servidor de la compañía, al que puedo acceder con una suite ofimática online penosa o bien a través de webdav.

Normalmente, accedo desde webdav con el conector de archivos remotos de libreoffice, pero hay algunas cosas que libreoffice no puede hacer (por ejemplo, exportar a un PDF remoto). Asimismo, hay otras operaciones que la versión web del manejador de archivos no puede hacer (por ejemplo, copiar un archivo a otra carpeta).

Por ello, empleo el conector webdav de windows:

net use <unidad> \\<servidorDav>\<ruta-a-webdav>

Windows me pide mis credenciales de red, tras lo que Windows abre la carpeta DAV como si fuera una unidad de disco.

De esta manera, puedo acceder a la carpeta DAV como si fuera una letra de unidad. Si abro algún archivo de ella desde openoffice, me vuelven a pedir la contraseña si quiero abrirlo en modo de edición.

Cuando termino la sesión, empleo el comando:

net use /delete <unidad>

Eso cierra la sesión. Sin embargo, la siguiente vez que escribo:

net use <unidad> \\<servidorDav>\<ruta-a-webdav>

Ya no se me pide la contraseña, lo cual es preocupante, porque estamos hablando de una carpeta con datos sensibles. ¿Cómo hacer que windows me pida la contraseña CADA VEZ?

El primer sistema es añadir /persistent:no al comando con que me conecto al servidor:

net use <unidad> \\<servidorDav>\<ruta-a-webdav> /persistent:no

De esa manera, me aseguro de que Windows no almacene esa conexión de red en su caché de conexiones. Sin embargo, si ya usé previamente el comando sin la opción /persistent:no, la conexión seguirá en la caché.

Otra opción es reiniciar el servicio Cliente Web de windows. Se puede hacer desde services.msc o desde la consola, pero en cualquier caso nos exigirá que seamos administradores, lo que es un tanto problemático:

net stop webclient

net start webclient

Una opción que suelo usar yo en ordenadores en que el usuario estándar tiene acceso a powershell (sabiéndome, claro está, la contraseña de administrador) es:

powershell start net -argumentlist { start webclient } -verb runas

powershell start net -argumentlist { start webclient } -verb runas

Sin embargo, como digo, el sistema anterior solo funciona siendo administrador del sistema, lo que es preocupante. Hay quien dice que al salir de la sesión se borra la caché de conexiones, pero yo no lo tengo nada claro...