Comment surmonter le & # 8220; Le lien symbolique ne peut pas être suivi car son type est désactivé. & # 8221; erreur lors de l'obtention de la cible d'un lien symbolique?

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

  •  04-07-2019
  •  | 
  •  

Question

Suite à un question précédente , je crée un lien symbolique sur un serveur 2008 à partir d'un ordinateur Vista utilisant des chemins d'accès UNC. Je peux très bien créer le lien. Je peux accéder à 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 un descripteur du lien de chemin UNC (à partir de la boîte Vista). Lorsque je l'essaie, il échoue et GetLastError () renvoie le code d'erreur 1463 (0x5B7), qui est:

  

Le lien symbolique ne peut pas être suivi car son type est désactivé.

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

Était-ce utile?

La solution

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

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

fsutil behavior set /?

Pour signaler la configuration actuelle , exécutez la requête de comportement fsutil SymlinkEvaluation - voir @ @ Jake1164 , en particulier en ce qui concerne la manière dont une stratégie de groupe peut contrôler le comportement.

Le comportement de résolution des liens symboliques est défini sur la machine qui accède à un lien donné , et non à la machine qui l'héberge.

Les codes de comportement du ensemble de comportements fsutil SymlinkEvaluation , à savoir L2L , L2R , R2L et R2R - signifient ce qui suit:

  • L signifie "Local", et R le mot "Remote". (qui aurait thunk?)
  • Le FIRST L ou R - avant le 2 - fait référence à l'emplacement du lien lui-même ( par opposition à sa cible) par rapport à la machine ACCÉDANT au lien .
  • La SECONDE L ou R - après le 2 - fait référence à l'emplacement du du lien. > cible par rapport à la machine sur laquelle se trouve le LINK .

Ainsi, par exemple, l’exécution de comportement défini par fsutil SymlinkEvaluation R2L signifie que vous pouvez accéder aux liens:

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

Contrairement à ce que David a connu sur Vista, sur W7, j'ai pu résoudre un lien distant pointant vers une ressource située sur un autre ordinateur distant en activant R2R seul (sans avoir à activer R2L également).

Autres conseils

Bien, j'ai trouvé la réponse, bien que le décrire comme mal documenté soit un euphémisme!

Tout d'abord, cet article de TechEd souligne le fait que les utilisateurs pouvez "activer ou désactiver l’une des quatre évaluations disponibles sous forme de liens symboliques". Ces quatre "évaluations" " incluez remote to local et local to remote. Cela ne donne aucune idée sur la façon de procéder.

Toutefois, une recherche supplémentaire a révélé cette page d'aide fsutil , qui explique en détail comment " ; activer ou désactiver l’une des quatre évaluations disponibles dans les liens symboliques ". Donc, pour résoudre le problème que je rencontrais, je dois exécuter la commande suivante sur la machine Vista :

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

afin de permettre un accès complet aux endroits où les liens symboliques pointent sur des machines locales et distantes.

Je l’ai récemment trouvé sur toutes les machines Windows 7 de mon entreprise lorsque l’un de mes anciens programmes a cessé de fonctionner. Après quelques recherches et la recherche de ces paramètres, j’ai essayé de les paramétrer via la ligne de commande et le registre sans aucun soulagement.

J'ai constaté que vous pouvez utiliser la commande à partir d'une invite avec privilèges élevés:

fsutil behavior query SymlinkEvaluation

Cela renverra le statut de ces liens ET dans mon cas, ils sont contrôlés par une stratégie de groupe! Merci au service informatique (vous @ $ #% $ rs)!

entrer la description de l'image ici

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 " requête de comportement fsutil SymlinkEvaluation " vous recevez le message .. " est actuellement contrôlé par la stratégie de groupe " ... ..., vérifiez HKEY_LOCAL_MACHINE \ SOFTWARE \ Stratégies \ Microsoft \ Windows \ Systèmes de fichiers \ NTFS ou recherchez simplement "Symlink" dans le registre

Merci David pour le conseil, je devenais désespéré pour résoudre ce problème qui rendait les liens symboliques pour la plupart inutiles.

Il convient de noter que la configuration par défaut de Vista est L2L et L2R activés, mais que R2R et R2L sont désactivés.

J'ai d'abord essayé d'activer uniquement la R2R, mais cela n'est pas suffisant. R2L doit également être activé.

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

Ces paramètres peuvent également être manipulés directement via le registre (nécessite l'écriture de l'administrateur local):

Clé de registre: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem

Valeurs de 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: Autorise de manière sélective l'évaluation d'un lien symbolique

Pour votre information, si vous avez mis en place des stratégies de groupe contrôlant les paramètres SymlinkEvaluation, 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 lors de votre session utilisateur.

En guise de solution de contournement, si vous devez définir une autre option que celle spécifiée par GP, vous pouvez même exécuter un script à la connexion pour les définir après l'application de GP.

Les points de jonction distants fonctionnent par défaut. Pour les fichiers, vous avez toujours besoin de liens symboliques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top