Comment puis-je surmonter le "le lien symbolique ne peut pas être suivi parce que son type est désactivé."erreur lors de l'obtention de la cible d'un lien symbolique?

suite à une question précédente , je crée un lien symbolique sur un serveur 2008 à partir d'une machine Vista utilisant des chemins UNC. Je peux très bien créer le lien. Je peux aller dans la boîte Server 2008 et double-cliquer sur le lien dans l'explorateur pour ouvrir le fichier cible. Ce que je ne peux pas faire c'est utiliser FileCreateW pour obtenir une poignée vers le lien UNC path (à partir de la boîte Vista). Quand je l'essaie, il échoue et GetLastError () renvoie le code d'erreur 1463 (0x5B7), qui est:

le lien symbolique ne peut pas être suivi parce que son type est désactivé.

comment activer son" type " Dans Server 2008 (en supposant que l'erreur signifie ce qu'elle dit)?

47
demandé sur Cœur 2008-10-23 17:08:42

8 réponses

pour ajouter à la réponse utile de @David Arno , basée sur W7:


fsutil.exe peut être fait pour montrer quels arguments il prend en exécutant simplement:

fsutil behavior set /?

À rapport actuel configuration , lancer fsutil behavior query SymlinkEvaluation - voir @Jake1164 la réponse de , en particulier à l'égard de la façon dont un groupe politique peut contrôler le comportement.

le comportement de résolution du lien symbolique est positionné sur la machine qui accède à un lien donné , pas sur la machine qui l'héberge.

les codes de comportement pour fsutil behavior set SymlinkEvaluation - à savoir L2L , L2R , R2L , et R2R - signifie ce qui suit:

  • L signifie" Local", et R pour" Remote " (qui l'aurait cru?)
  • le premier L ou R - avant le 2 - se réfère à l'emplacement du lien lui-même (par opposition à sa cible) par rapport à la machine accédant au lien .
  • le deuxième L ou R - après le 2 - se réfère à la emplacement de la cible du lien par rapport à la machine où se trouve le lien lui-même .

ainsi, par exemple, l'exécution de fsutil behavior set SymlinkEvaluation R2L signifie que vous pouvez accéder aux liens:

  • situé sur une machine distante ( R )
  • qui pointent vers des cibles sur la même machine distante ( L )

contrairement à ce que David a vécu sur Vista, I, sur W7, a été capable de résoudre un lien distant qui pointait vers une ressource sur une autre machine distante en activant R2R seul (et n'ayant pas aussi à activer R2L).

37
répondu mklement0 2017-05-23 12:10:06

Eh bien j'ai trouvé la réponse, bien que de la décrire comme mal documentée est un euphémisme!

tout d'Abord, ce TechEd l'article met en évidence le fait que les utilisateurs peuvent activer ou désactiver l'une des quatre évaluations qui sont disponibles dans les liens symboliques". Ces quatre" évaluations " comprennent les évaluations locales à éloignées et les évaluations locales à éloignées. Ça ne donne aucune idée de comment faire ça.

cependant une recherche plus poussée a révélé cette page d'aide du fsutil , qui documente en fait comment"activer ou désactiver l'une des quatre évaluations qui sont disponibles dans les liens symboliques". Donc, pour corriger le problème que j'avais, je dois émettre la commande suivante sur la boîte Vista :

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

afin de permettre un accès complet à l'endroit où les liens symboliques pointent à la fois sur les machines locales et à distance.

55
répondu David Arno 2010-12-11 17:04:07

j'ai récemment trouvé ceci sur toutes mes fenêtres d'entreprise 7 boîtes quand un de mes programmes d'héritage a cessé de fonctionner. Après quelques recherches et la recherche de ces paramètres, j'ai essayé de définir via la ligne de commande et via le registre sans aucun soulagement.

j'ai trouvé que vous pouvez utiliser la commande d'un prompt élevé:

fsutil behavior query SymlinkEvaluation

cela va retourner le statut de ces liens et dans mon cas qu'ils sont contrôlés par une politique de groupe! Merci IL département (vous f@$#%$rs)!

enter image description here

9
répondu Jake1164 2014-06-23 11:19:19

ces paramètres peuvent également être manipulés directement via le Registre à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem : Voir SymlinkLocalToLocalEvaluation, SymlinkLocalToRemoteEvaluation, SymlinkRemoteToLocalEvaluation, SymlinkRemoteToRemoteEvaluation.

si avec "fsutil behavior query Symlinkevalion" vous recevez le message .." est actuellement contrôlée par la stratégie de groupe "...,

6
répondu Bulki S Maslom 2015-04-23 07:16:21

merci David pour le Conseil, je devenais désespéré pour résoudre ce problème qui a fait symlinks la plupart du temps inutile.

il faut noter que la configuration par défaut pour Vista est L2L et L2R activés, mais R2R et R2L désactivés.

j'ai d'abord essayé d'activer uniquement R2R, mais ce n'est pas suffisant. R2L doit aussi être activé.

la prochaine question sur ma liste: Comment se débarrasser de ce stupide Commutateur / D pour la commande mklink pour répertoire de liens. Le type de lien par défaut doit être déduit automatiquement du type de chemin cible!

5
répondu 2008-12-17 18:28:37

ces paramètres peuvent aussi être manipulés directement via le registre (l'administrateur local doit écrire):

clé de Registre: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

valeurs du registre (paires nom/données):

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

la documentation officielle est difficile à trouver, mais cela semble être une page officielle de Microsoft: permettre sélectivement l'évaluation d'un lien symbolique

2
répondu mwolfe02 2014-05-20 12:58:25

FYI si vous avez des politiques de groupe en place contrôlant les paramètres D'évaluation de symlink, vous pouvez toujours les définir vous-même à partir de la ligne de commande. Ils seront écrasés par GP lors du prochain redémarrage/connexion, mais vos paramètres fonctionneront pendant votre session utilisateur.

comme solution de contournement si vous avez besoin de le mettre à quelque chose d'autre que ce que le GP dicte, vous pouvez même exécuter un script à la connexion pour le mettre après que le GP est appliqué.

2
répondu Ryan 2014-07-15 22:34:21

les points de jonction éloignés fonctionnent par défaut. Pour les fichiers, vous avez encore besoin de liens symboliques.

1
répondu Ian Kelling 2009-10-08 04:19:14