¿Cómo puedo superar el error "El enlace simbólico no se puede seguir porque su tipo está deshabilitado"? ¿Error al obtener el objetivo de un enlace simbólico?

StackOverflow https://stackoverflow.com/questions/229643

  •  04-07-2019
  •  | 
  •  

Pregunta

Siguiendo en un pregunta anterior , estoy creando un enlace simbólico en un Servidor 2008 desde una máquina Vista usando rutas UNC. Puedo crear el enlace muy bien. Puedo ir al cuadro Servidor 2008 y hacer doble clic en el enlace en el explorador para abrir el archivo de destino. Sin embargo, lo que no puedo hacer es usar FileCreateW para obtener un identificador para el enlace de la ruta UNC (desde el cuadro de Vista). Cuando lo intento, falla y GetLastError () devuelve el código de error 1463 (0x5B7), que es:

  

El enlace simbólico no se puede seguir porque su tipo está deshabilitado.

Cómo habilitar su " tipo " en Server 2008 (suponiendo que el error significa lo que dice)?

¿Fue útil?

Solución

Para agregar a respuesta útil de @David Arno , basada en W7:


fsutil.exe se puede hacer para mostrar qué argumentos toma simplemente ejecutando:

fsutil behavior set /?

Para informar sobre la configuración actual , ejecute fsutil comportamiento consulta SymlinkEvaluation - vea La respuesta de @ Jake1164 , particularmente con respecto a cómo una política de grupo puede controlar el comportamiento.

El comportamiento de resolución del enlace simbólico se establece en la máquina que accede a un enlace determinado , no a la máquina que lo aloja.

Los códigos de comportamiento para fsutil behavior set SymlinkEvaluation - a saber L2L , L2R , R2L y R2R : significa lo siguiente:

  • L significa " Local ", y R para " Remoto " (¿Quién hubiera pensado?)
  • El PRIMER L o R - antes el 2 - se refiere a la ubicación del enlace en sí ( a diferencia de su objetivo) relativo a la máquina ACCESO al enlace .
  • El SEGUNDO L o R - después de el 2 - se refiere a la ubicación de los destino relativo a la máquina donde se encuentra el ENLACE mismo .

Por lo tanto, por ejemplo, ejecutar fsutil comportamiento set SymlinkEvaluation R2L significa que puede acceder a los enlaces:

  • ubicado en una máquina remota ( R )
  • que apuntan a objetivos en esa misma máquina remota ( L )

A diferencia de lo que experimentó David en Vista, yo, en W7, pude resolver un enlace remoto que apuntaba a un recurso en otra máquina remota habilitando R2R solo (y no teniendo también que habilitar R2L).

Otros consejos

Bueno, encontré la respuesta, aunque describirlo como mal documentado es un eufemismo!

En primer lugar, este artículo de TechEd destaca el hecho de que los usuarios puede " habilitar o inhabilitar cualquiera de las cuatro evaluaciones que están disponibles en los enlaces simbólicos " ;. Esas cuatro " evaluaciones " Incluye remoto a local y local a remoto. No da ninguna pista sobre cómo hacer esto.

Sin embargo, otra búsqueda reveló esta página de ayuda de fsutil , que en realidad documenta cómo " ; habilite o inhabilite cualquiera de las cuatro evaluaciones que están disponibles en los enlaces simbólicos " ;. Así que para solucionar el problema que estaba teniendo, debo emitir el siguiente comando en el cuadro de Vista :

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

para permitir acceso completo a donde los enlaces simbólicos apuntan tanto en máquinas locales como remotas.

Recientemente encontré esto en todas mis cajas corporativas de Windows 7 cuando uno de mis programas heredados dejó de funcionar. Después de buscar y encontrar esta configuración, probé la configuración a través de la línea de comandos y del Registro sin ningún alivio.

Descubrí que puedes usar el comando desde un indicador elevado:

fsutil behavior query SymlinkEvaluation

¡Esto devolverá el estado de estos enlaces Y, en mi caso, que están siendo controlados por una política de grupo! ¡Gracias departamento de TI (usted f @ $ #% $ rs)!

ingrese la descripción de la imagen aquí

Estas configuraciones también se pueden manipular directamente a través del registro en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem : Consulte SymlinkLocalToLocalEvaluation, SymlinkLocalToRemoteEvaluation, SymlinkRemoteToLocalEvaluation, SymlinkRemoteToRemoteEvaluation.

si con " consulta de comportamiento fsutil SymlinkEvaluation " recibe el mensaje ... " actualmente está controlado por la política de grupo " ..., marque HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ Filesystems \ NTFS o simplemente busque en el registro para " Symlink "

Gracias a David por la sugerencia, me estaba desesperando por solucionar este problema, lo que hizo que los enlaces simbólicos se volvieran inútiles.

Uno debe tener en cuenta que la configuración predeterminada para Vista es L2L y L2R habilitados, pero R2R y R2L deshabilitados.

Primero intenté habilitar solo R2R, pero esto no es suficiente. R2L también debe estar habilitado.

La siguiente pregunta en mi lista: cómo deshacerme de ese modesto / D interruptor para el comando mklink para enlaces de directorio. ¡El tipo de enlace predeterminado debe inferirse automáticamente del tipo de ruta de acceso objetivo!

Esta configuración también se puede manipular directamente a través del registro (requiere que el administrador local escriba):

Clave de registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Valores de registro (pares nombre / datos):

Name                             Type       Data  (1: Enabled; 0: Disabled)
-------------------------------------------------
SymlinkLocalToLocalEvaluation    REG_DWORD     1
SymlinkLocalToRemoteEvaluation   REG_DWORD     1
SymlinkRemoteToLocalEvaluation   REG_DWORD     1
SymlinkRemoteToRemoteEvaluation  REG_DWORD     1

La documentación oficial es difícil de encontrar, pero parece ser una página oficial de Microsoft: Permitir selectivamente la evaluación de un enlace simbólico

Para su información, si tiene Políticas de grupo controladas en su lugar, puede establecerlas desde la línea de comando. GP los sobrescribirá en el próximo reinicio / inicio de sesión, pero su configuración funcionará durante su sesión de usuario.

Por lo tanto, como solución alternativa, si necesita configurarlo en algo diferente a lo que GP dicta, incluso podría ejecutar un script al iniciar sesión para configurarlos después de que se aplique GP.

Los puntos de unión remota funcionan de forma predeterminada. Para los archivos que aún necesita enlaces simbólicos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top