windows server 2008 - ¿Cómo supero el error "El enlace simbólico no se puede seguir porque su tipo está deshabilitado." Al obtener el objetivo de un enlace simbólico?
windows-server-2008 symlink (8)
Gracias David por la sugerencia, me estaba desesperando por solucionar este problema, lo que hacía que los enlaces simbólicos fueran inútiles.
Se debe tener en cuenta que la configuración predeterminada para Vista es L2L y L2R habilitada, pero R2R y R2L están deshabilitados.
Primero intenté habilitar solo R2R, pero esto no es suficiente. R2L tiene que estar habilitado también.
La siguiente pregunta en mi lista: cómo deshacerse de ese estúpido / interruptor D para el comando mklink para enlaces de directorio. ¡El tipo de enlace predeterminado debe inferirse automáticamente del tipo de nombre de ruta de destino!
Después de una 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 objetivo. Lo que no puedo hacer es utilizar FileCreateW para obtener un control del enlace de ruta UNC (desde el cuadro 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)?
Los puntos de unión remota funcionan de manera predeterminada. Para los archivos, aún necesitas enlaces simbólicos.
¡Bien, encontré la respuesta, aunque describirla como mal documentada es una subestimación!
En primer lugar, este artículo TechEd destaca el hecho de que los usuarios pueden "habilitar o deshabilitar cualquiera de las cuatro evaluaciones que están disponibles en enlaces simbólicos". Esas cuatro "evaluaciones" incluyen remota a local y local a remota. No da ninguna pista sobre cómo hacer esto.
Sin embargo, una búsqueda más reveló esta página de ayuda fsutil , que en realidad documenta cómo "habilitar o deshabilitar cualquiera de las cuatro evaluaciones que están disponibles en enlaces simbólicos". Entonces, para solucionar el problema que estaba teniendo, necesito emitir el siguiente comando en el cuadro Vista :
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
para permitir el acceso completo a los enlaces simbólicos en máquinas locales y remotas.
Estas configuraciones también se pueden manipular directamente a través del registro (requiere que el administrador local escriba):
Clave del registro: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/FileSystem
Valores de registro (pares de 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 esta parece ser una página oficial de Microsoft: permitir de forma selectiva la evaluación de un enlace simbólico
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 estas configuraciones, intenté configurarlo a través de la línea de comando y a través del registro sin ningún alivio.
Descubrí que puedes usar el comando desde un mensaje 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)!
Para su información, si tiene las Políticas de grupo en su lugar controlando la configuración de evaluación de enlace simbólico, PUEDE configurarlas usted mismo desde la línea de comando. Serán sobrescritos por GP en el próximo reinicio / inicio de sesión pero su configuración funcionará durante su sesión de usuario.
Así que, como solución alternativa, si necesita establecerlo en algo distinto a lo que GP le dicta, incluso podría ejecutar un script en el inicio de sesión para configurarlos una vez que se haya aplicado GP.
Estas configuraciones también pueden ser manipuladas directamente a través del registro en HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / FileSystem : Ver SymlinkLocalToLocalEvaluation, SymlinkLocalToRemoteEvaluation, SymlinkRemoteToLocalEvaluation, SymlinkRemoteToRemoteEvaluation.
si con "fsutil behavior query SymlinkEvaluation" aparece el mensaje ... " actualmente está controlado por la política de grupo " ..., compruebe HKEY_LOCAL_MACHINE / SOFTWARE / Policies / Microsoft / Windows / Filesystems / NTFS o simplemente busque en el registro "Symlink"
Para agregar a la respuesta útil de @David Arno , basado en W7:
fsutil.exe
se puede hacer para mostrar qué argumentos se necesitan simplemente ejecutando:
fsutil behavior set /?
Para informar la configuración actual , ejecute fsutil behavior query SymlinkEvaluation
Evaluación de enlace fsutil behavior query SymlinkEvaluation
- vea la respuesta de @Jake1164 , particularmente con respecto a cómo una política de grupo puede estar controlando el comportamiento.
El comportamiento de resolución de 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 fsutil behavior set SymlinkEvaluation
, es L2L
, L2R
, R2L
, R2R
y R2R
, significan lo siguiente:
-
L
significa "Local", yR
significa "Remoto" (¿quién hubiera dicho?) - El PRIMER
L
oR
- antes del2
- se refiere a la ubicación del enlace en sí (en oposición a su objetivo) relativo a la máquina ACCESO al enlace . - El SEGUNDO
L
oR
- después del2
- se refiere a la ubicación del objetivo del enlace en relación con la máquina donde se encuentra el LINK .
Por lo tanto, por ejemplo, la ejecución del fsutil behavior set SymlinkEvaluation R2L
significa que puede acceder a los enlaces:
- ubicado en una máquina remota (
R
) - que apuntan a los objetivos en esa misma máquina remota (
L
)
A diferencia de lo que David experimentó en Vista, yo, en W7, pude resolver un enlace remoto que apuntaba a un recurso en otra máquina remota al habilitar R2R solo (y no tener que habilitar R2L).