¿Ver unidades de red asignadas en aplicaciones que se ejecutan como administrador? Sí, es un poco molesto debido a cómo Windows gestiona el Control de Cuentas de Usuario (UAC) y la separación de privilegios. Básicamente, al asignar una unidad de red en la sesión de usuario, Windows crea enlaces simbólicos (DosDevices) que apuntan a rutas UNC, pero esos enlaces están vinculados a tu token de acceso actual. Al ejecutar una aplicación como administrador, es como si estuviera en otro plano: no ve esos enlaces ni las unidades asignadas porque funciona con un token diferente y privilegios elevados. Por lo tanto, las unidades que se ven correctamente en el Explorador de Windows o en el comando normal no son visibles en aplicaciones con privilegios elevados, lo cual es muy frustrante si intentas realizar tareas de administrador con recursos compartidos de red.
Esto es especialmente cierto si las unidades se asignan mediante la directiva de grupo o manualmente mediante [nombre de usuario] net use. La raíz del problema es que el Control de Cuentas de Usuario (UAC) crea tokens de privilegio independientes, que no comparten estos enlaces simbólicos entre sesiones. No entiendo por qué Windows tiene que ser tan complejo con esto, pero, claro, a veces complica las cosas más de lo necesario.
Cómo solucionar que las unidades asignadas no se muestren en aplicaciones que se ejecutan con derechos de administrador
Método 1: Habilitar conexiones vinculadas mediante un hack de registro
Este método es probablemente la solución más sencilla y funciona en Windows Vista, 7, 8, 10 e incluso versiones más recientes de Windows Server. Indica a Windows que sincronice las asignaciones de unidades en los diferentes niveles de privilegio activando EnableLinkedConnections en el registro.
- Abra regedit.exe desde el menú Inicio o el cuadro de diálogo Ejecutar.
- Vaya a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System. Si no ve EnableLinkedConnections, cree un nuevo valor DWORD (32 bits).
- Llámelo EnableLinkedConnections y establezca su valor en 1.
- Alternativamente, puede ejecutar este comando en PowerShell o el Símbolo del sistema con derechos de administrador:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLinkedConnections" /t REG_DWORD /d 1 /f
Importante: Después de editar, reinicie su PC o el servicio LanmanWorkstationget-service LanmanWorkstation | Restart-Service –Force (ejecútelo en PowerShell).En algunas configuraciones, reiniciar es la forma más sencilla de que el cambio en el registro surta efecto.
Esta modificación básicamente le indica a Windows que refleje las asignaciones de unidades de red en los diferentes tokens de seguridad, haciendo que las unidades de red sean visibles independientemente de si la aplicación se ejecuta con privilegios elevados o no. En mi experiencia, este truco es sorprendentemente efectivo; sin embargo, no se recomienda desactivar el Control de Cuentas de Usuario (UAC) por completo, solo esta configuración.
Método 2: Ejecute el Explorador de archivos de Windows en modo elevado (si es necesario)
¿Otra solución alternativa un poco complicada? Puedes abrir un Explorador de archivos con privilegios elevados y luego acceder a tus unidades. No es elegante, pero si necesitas acceso rápido, funciona. Usa un acceso directo o una tarea para ejecutar explorer.exe como administrador con el comando: runas /user:Administrator explorer.exe
Nota: En algunas configuraciones, esto podría causar problemas o solicitar credenciales. Y recuerde, si el objetivo es que las unidades estén disponibles universalmente, la modificación del registro es más limpia.
Otros trucos y consejos
- Para las unidades mapeadas configuradas a través de scripts o GPO, considere implementar la configuración de registro EnableLinkedConnections en todas las máquinas mediante Preferencias de política de grupo o un script de inicio.
- También puede crear un enlace simbólico dentro de su directorio de usuario que apunte al recurso compartido de red:
mklink /D C:\localfolder \\server\shared. Tenga en cuenta que esto actúa como una sombra: está vinculado a su cuenta de usuario iniciada y no es un sustituto exacto de las asignaciones de unidades de red reales.
En resumen, la mayor ventaja es habilitar EnableLinkedConnections. Es un poco engorroso, ya que Windows no lo hace automáticamente, pero una vez configurado, las unidades de red parecen funcionar de forma consistente, independientemente de si las aplicaciones se ejecutan en modo administrador o normal.
Resumen
- Casilla de verificación para modificar el registro—
reg add.../v EnableLinkedConnections /t REG_DWORD /d 1 /f - Reinicie o reinicie el servicio de red para que los cambios se mantengan
- Compruebe si las unidades son visibles en las aplicaciones elevadas después
Resumen
Cruzo los dedos para que esto ayude a evitar la frustración de perder unidades de red en las aplicaciones de administración. Es una molestia que lleva mucho tiempo, pero, sinceramente, habilitar EnableLinkedConnections es la solución más sencilla. En una configuración, funcionó justo después de reiniciar; en otra, un reinicio rápido del servicio fue suficiente. En cualquier caso, me alegra que sea posible solucionarlo en lugar de tener que vivir con la molestia.