Le système de fichiers NTFS supporte une fonctionnalité connue en tant que liens physiques
(que l'on nommera aussi ci-dessous Hardlinks). Les liens physiques donnent la possibilité de conserver une seule copie d'un fichier bien qu'il
apparaisse dans de nombreux répertoires (directories).
Ils peuvent être créés par la commande POSIX ln incluse dans le "Windows
Resource Kit", la commande utilitaire fsutil incluse dans Windows ou via mon utilitaire en ligne de commande
ln.exe.
Aussi, en utilisant les fonctions standard de Windows les liens physiques ne peuvent être créés
qu'en ligne de commande, ce qui peut devenir pénible, en particulier quand on veut avoir des liens physiques vers de nombreux fichiers
où lorsqu'on ne fait qu'un usage occasionnel des liens physiques.
Link Shell Extension (LSE) permet la création de
Liens physiques, Jonctions,
Montage de Volume ,
et les Liens Symboliques,
considérés globalement comme des processus de clonage de répertoire qui utilise
des Liens physiques ou les Liens Symboliques et un processus de copie préservant les Jonctions, Liens Symboliques, et Liens Physiques.
LSE, comme son nom l'indique est implémenté en tant qu'extension du Shell et est accessible depuis l'Explorateur Windows, ou des gestionnaires de fichiers/répertoires du même genre.
L'extension permet à l'utilisateur de sélectionner un ou plusieurs fichiers ou répertoires, puis avec la souris, d'achever la création des liens souhaités -
Liens Physiques, Jonctions ou Liens Symboliques, ou encore dans le cas de répertoires, de créer des clones consistants en des Liens Physiques ou Symboliques.
LSE est pris en charge par toutes les versions de Windows qui supportent NTFS, Windows7/8/10.
Les Liens Physiques, Jonctions et Liens Symboliques ne sont PAS supportés par le système de fichiers FAT,
de même que le clonage ou la copie intelligente n'est pas non plus supportée par le système de fichiers FAT.
Dans ce document, les termes bouton d'action et
menu d'action
(pop-up)
sont utilisés pour se référer au bouton droit de la souris et le menu de contexte qui s'affiche
quand on clique sur ce bouton (souvent désigné comme le menu contextuel). Sachant que des gens permutent l'usage des
boutons de la souris, Microsoft les appelle aussi boutons de souris primaire et secondaire. Nous préférons appeler les boutons de la souris comme bouton de
Sélection et bouton d'Action;
et plutôt que d'utiliser des termes comme Menu contextuel, Menu du Shell, Menu droit de la Souris nous utiliserons le terme menu d'Action.
L'utilisateur courant doit avoir des privilèges d'administrateur pour pouvoir installer le logiciel.
LSE s'installe en exécutant le programme d'installation
(HardLinkShellExt_$(platform).exe).
Suivez les instructions données par le programme, il n'y a pas
d'entrées obligatoires requises pendant l'installation. On peut modifier le répertoire d'installation de LSE qui par
défaut est
C:\Program Files\LinkShellExtension
Fenêtre contextuelle Smartscreen
Sous Windows 10 la fonction "SmartScreen" de Windows Defender peut s'afficher afin de vous prévenir :
Windows a protégé votre PC
Windows Defender SmartScreen a empêché une application inconnue de démarrer. L'exécution de cette application pourrait mettre votre PC en danger.
Choisissez s'il vous plait 'Installer Tout de même'. LSE est signé avec un certificat de signature de code standard, mais pas par un
certificat de signature EV (Extended Validation),
qui permettrait d'éviter que Smartscreen n'interfère.
Redémarrage de l'explorateur
Durant l'installation Explorer.exe doit être relancé pour rendre active l'extension Link Shell Extension.
Cela signifie que toutes les opérations en cours dans explorer.exe seront interrompues, mais lors
d'une installation interactive vous pouvez décider de différer le redémarrage d'explorer.exe.
Une boîte de dialogue vous donnera ce choix pendant l'installation.
Quelques commutateurs peuvent être passés en ligne de commande lors de l'installation, ainsi on peut obtenir une installation silencieuse
par l'intermédiaire d'un fichier .bat.
Installation silencieuse
/S ne fait apparaitre aucune requête pendant l'installation. Si on utilise le commutateur /S, explorer.exe sera redémarré après l'installation afin que Link Shell Extension
soit actif immédiatement.
Spécification de la langue
/LANGUAGE indique la langue dans laquelle s'affiche LSE par exemple :
HardLinkShellExt_$(platform).exe /S /Language=English
Actuellement les langues utilisables avec le paramètre /Language sont :
English, Chinese, Czech, French, German, Greek, Italian, Japanese, Korean, Polish, Portuguese, Russian, Slovak, Spanish, Swedish, Turkish et Ukrainian
Spécification d'un répertoire
Quand on utilise une installation silencieuse, on peut entrer un répertoire d'installation par le paramètre /D par exemple :
Si on utilise le paramètre /S lors d'une désinstallation, explorer.exe sera redémarré en fin de désinstallation, afin de désactiver
immédiatement Link Shell Extension.
Pas de vérification de VcRedist
Sur certaines machines Windows10, il n'est pas nécessaire d'installer vcredist, ou pire : VcRedist ne peut pas être installé, mais est en quelque sorte déjà dans le système.
Pour s'en affranchir, le commutateur /noredist peut être passé en ligne de commande. par ex :
On peut aussi installer Link ShellExtension via chocolatey en entrant
choco install linkshellextension
en ligne de commande. Assurez-vous d'avoir installé chocolatey.
L'utilisateur courant doit posséder des privilèges administrateur pour pouvoir installer le logiciel via choco.
Prendre comme cible du lien (Pick Link Source) fait que les fichiers sélectionnés sont "enregistrés" comme
source des liens physiques que vous voulez créer.
Pour créer les liens physiques, vous devez choisir un répertoire de destination, et en cliquant sur le
bouton d'action de la souris dans le répertoire de destination, un menu pop-up apparaît proposant l'entrée - Coller un lien physique
(ou Drop HardLink
En choisissant Coller un lien physique (ou Drop HardLink) vous créerez le lien dans le répertoire de destination.
Superposition d'icônes pour les Liens Physiques
Pour aider à distinguer les liens des fichiers normaux, une icône de superposition est implémentée
sur les liens et se caractérise par une flèche rouge superposée.
Les icônes de superposition des liens peuvent être personnalisées.
Quand on clique sur le bouton d'action dans le répertoire de destination, en plus de l'option de Coller un lien physique, il est
possible d'Oublier la cible du lien (ou Cancel Link Creation).
Comme LSE supporte les Jonctions,
Clones et les Liens Symboliques,
si un ou plusieurs fichiers/répertoires sont sélectionnés comme source ils peuvent être créés comme liens de plusieurs façons.
Pour éviter de surcharger les menus contextuels, un sous-menu contenant les différents types de liens applicables aux répertoires est alors proposé.
La création de liens physiques par des glisser-déposer est prise en charge: après avoir sélectionné un ou plusieurs fichiers, vous pouvez les faire
glisser vers le répertoire de destination en maintenant enfoncé le bouton d'action ; quand vous le relâchez choisissez Déposer ici
dans le menu d'action pour y créer les liens physiques des fichiers sélectionnés dans le répertoire de destination.
Les fichiers peuvent
avoir un lien physique dans le même répertoire que le répertoire source. Parce que les deux entrées dans un répertoire ne peuvent pas avoir le même nom, LSE utilise
'$filename - Lien physique.$ext' comme nom du nouveau lien.
LSE utilise la même syntaxe qu'explorer quand il rencontre de multiples
'$filename - Lien physique': Il utilise des numéros pour différentier les liens physiques multiples d'un fichier dans un même répertoire, par exemple
$filename - Lien physique (2).$ext.
Le mécanisme d' Auto Renommage est également utilisé quand des Jonctions, Clones physiques,
Liens Symboliques, Clones Symboliques, Points de montages ou des Copies intelligentes sont créés
dans un même répertoire.
Les Jonctions
permettent la création de liens entre répertoires.
Les jonctions sont créées de la même manière que les Liens physiques, sauf que
la Source du Lien est un répertoire plutôt qu'un fichier. Sélectionnez un répertoire, cliquez sur le bouton droit de la souris et choisissez
Prendre comme cible du lien (Pick Link Source) dans le menu d'actions, aller dans le répertoire de destination, cliquez sur le bouton d'action, ouvrez le
sous-menu Coller ... (Drop As ...) et sélectionnez Une jonction
Les jonctions sont marquées par un petit morceau de chaîne en-dessous de l'icône du dossier
Les jonctions peuvent également être créées par glisser-déposer lorsque les dossiers sélectionnés sont
glissés avec le bouton d'action enfoncé vers le répertoire de destination ; quand vous relâchez le bouton droit de la souris, sélectionnez
le sous-menu Déposer ici ... (Drop Here ...) puis Une jonction.
Superposition d'Icônes pour les Jonctions
Afin de distinguer les répertoires joints des répertoires normaux, une icône de superposition est implémentée
sur les jonctions et représente trois maillons de chaîne en dessous du répertoire.
Les icônes superposées des jonctions peuvent aussi être personnalisées.
Les jonctions peuvent s'étendre aux lecteurs réseaux du moins quand le lecteur réseau peut être affecté à une lettre.
Malheureusement les Jonctions, qui ont pour cible un chemin UNC, peuvent bien être créées
par LSE, mais même Windows7/8/10 semble contenir un bug, qui l'empêche de traiter
correctement un chemin UNC par une jonction, même si LSE est correctement configuré
pour rediriger les jonctions UNC. Quand on double clique sur une jonction cible de type
UNC dans l'explorateur, une erreur ERROR_INVALID_REPARSE_DATA(4392),
s'affiche et vous informe que l'analyse est illégale, même si elle ne
l'est pas.
Une élévation de privilèges est nécessaire dans certains répertoires, comme par exemple c:\Program Files
pour pouvoir y créer des jonctions. C'est la raison pour laquelle le célèbre dialogue UAC doit être accepté.
Pour être exact : seule la création de répertoire nécessite une élévation des privilèges dans ce type de situations, mais créer
un répertoire vide est une part essentielle de la création d'une jonction. DeviceIoControl(), qui
réalise le véritable travail dans cette création de jonctions devrait pouvoir le faire sans élévation de privilèges.
Link Shell Extension peut changer la cible d'une jonction existante,
d'un lien symbolique ou d'un point de montage via Sélection/Déposer ou Glisser et Déposer.
Pour utiliser cette fonctionnalité, il suffit de sélectionner un répertoire existant
en tant que Source du lien et de le déposer sur une Jonction/Lien symbolique/Point de montage déjà existant.
En sélectionnant le 'Déposer ici ... Jonction de remplacement/Lien Symbolique/Point de montage'
dans le manu d'action, la cible existant de type Jonction/Lien Symbolique/Point de montage
est remplacée par la cible qui vient d'être sélectionnée.
On peut obtenir la même chose par Glisser-Déposer pour des Liens Symboliques sur Répertoires, Jonctions et points de montages, mais pas
pour des Liens Symboliques sur fichiers. Les Liens Symboliques sur fichiers doivent être réparés par 'Pendre comme source du lien',
'Coller ... un lien symbolique de remplacement' comme alternative de réparation.
Quand le mode sauvegarde est sélectionné, les Listes de Contrôles d'Accès (ou "ACL"s) des Jonctions/Liens Symboliques/Points de Montage sont préservées.
Link Shell Extension peut copier une Jonction existante,
un Lien Symbolique ou un Point de Montage soit via Sélection/Déposer ou Glisser et Déposer.
Pour utiliser cette fonctionnalité sélectionnez simplement une Jonction existante, un Lien Symbolique ou un Point de Montage en tant que
Source du Lien et glissez-le par-dessus un répertoire déjà existant.
En sélectionnant 'Coller ... Copie de Jonction/Lien Symbolique/Point de Montage' depuis le menu d'action, la
Jonction/le Lien Symbolique/Le Point de montage est copié vers la cible et la relation est ajustée
On peut obtenir la même chose via un Glisser et Déposer sur des Liens symboliques entre répertoires, Jonctions et Points de Montage.
Quand le mode de sauvegarde est sélectionné les Listes de Contrôles d'Accès (ou "ACL"s) des Jonctions/Liens Symboliques/Points de Montage sont préservés.
Une copie intelligente crée une copie de la structure
d'un répertoire source vers une cible, mais elle préserve la structure interne
des liens physiques et les relations internes de type jonctions/liens symboliques avec les sources, et
recrée cette structure de liens physiques internes et les jonctions/liens symboliques en relation avec les
emplacements de destination originaux :
Avec des liens physiques, cela se comporte comme suit
En regardant de près l'image ci-dessus on peut
voir trois différents types de fichiers :
Fichiers normaux
Le fichier B est un fichier normal. Il est copié comme n'importe quel autre outil de copie le ferait.
Liens Physiques Saturés
Les fichiers E et F sont liés entre eux. Dans la terminologie de LSE
on les nomme Liens Physiques Saturés, car le compteur de liens,
qui ici vaut 2, correspond au nombre d'occurrences dans le répertoire 'Folder 1', qui ici aussi vaut 2.
En général: Un lien physique est dit Saturé par rapport à un répertoire F,
si le nombre d'occurrences dans le répertoire F correspond au compteur de référence.
Les liens physiques saturés peuvent être complètement copiés via la Copie Intelligente.
Liens Physiques non saturés
Les fichiers A, C, D sont liés entre eux. Dans la terminologie de LSE on les nomme Liens Physiques Non Saturés, car le compteur de liens,
qui ici vaut 3, ne correspond pas au nombre d'occurrences dans le répertoire 'Folder 1', qui ici vaut 2. Seuls C et D sont dans Folder 1.
En général : Un lien physique est dit Non saturé par rapport à un répertoire F,
si le nombre d'occurrences dans le répertoire F est inférieur à celui du compteur de
référence.
Les liens physiques non saturés ne peuvent être copiés que partiellement par la Copie Intelligente. Dans l'exemple
ci-dessus C et D sont liés entre eux à l'intérieur du répertoire de destination, mais le lien vers
A est cassé. Cela signifie que le compteur de référence sur C et D est de 2 avec l'emplacement de
destination.
Avec des jonctions ou des liens symboliques vers des répertoires, le comportement par défaut durant une copie intelligente est le suivant :
En observant de près l'image ci-dessus on peut y voir trois types différents de répertoires/jonctions:
Répertoires Normaux
Le répertoire 'Folder 3' est un répertoire normal. Il est copié avec son contenu comme le ferait tout autre outil de copie.
Jonctions internes Liens Symboliques
Le répertoire 'Inner Junction/Symlink' est lié au répertoire cible 'Inner Junction/Symlink Target'.
Dans la terminologie de LSE ce type de répertoire est nommé Inner Junction/Symlink, car il pointe vers un répertoire qui est en dessous du
sous répertoire père 'Folder 1'.
Les Jonctions/Liens Symboliques Internes sont restaurés correctement par une Copie Intelligente dans l'emplacement de
destination.
Jonctions externes Liens Symboliques
Le répertoire 'Outer Junction/Symlink' est lié au répertoire
cible 'Outer Junction/Symlink Target'. Dans la terminologie de LSE ce type de répertoire est nommé
Jonction/Lien Symbolique Externe, car il pointe vers un répertoire
qui est en parallèle et donc en dehors du répertoire père 'Folder 1'.
Windows 7/8/10 supportent les Liens Symboliques qui se comportent comme suit durant
une Copie Intelligente :
En observant de près l'image ci-dessus on peut voir trois types différents de fichiers/liens
symboliques :
Fichiers Normaux
Le fichier A est un fichier normal. Il est copié comme n'importe quel autre outil
de copie le ferait.
Liens Symboliques Internes
Le lien symbolique 'Inner Symlink' a pour cible 'Inner
Symlink Target'. Dans la terminologie de LSE ce type de lien symbolique est nommé Lien Symbolique Interne, car il pointe vers un fichier qui est
dans le même répertoire père 'Folder 1'. Les Liens Symboliques Internes sont restaurés correctement par une Copie Intelligente dans l'emplacement de destination.
Liens Symboliques Externes
Le lien symbolique 'Outer Symlink' a pour cible
'Outer Symlink Target'. Dans la terminologie de LSE ce type de lien symbolique est nommé
Lien Symbolique Externe, car il pointe vers un fichier qui est en parallèle
et donc en dehors du répertoire père 'Folder 1'.
Les Copies Intelligentes sont créées de la même façon que les jonctions : sélectionnez un répertoire,
cliquez sur le bouton d'Action, choisissez Prendre comme cible du lien dans le menu d'action...
...naviguer jusqu'au répertoire de destination, appuyez sur le bouton d'action, ouvrez le sous-menu Déposer comme... et sélectionnez Copie intelligente :
La Copie Intelligente est un must si, par exemple, le contenu intégral d'un disque dur, qui a de nombreux
Liens Physiques/jonctions/liens symboliques, doit être copié vers un autre disque dur. Durant
l'opération de Copie Intelligente les répertoires vides seront également copiés et les dates/heures
des répertoires/jonctions/liens symboliques sont également restaurés dans les emplacements de
destination respectifs.
En raison de la création de liens physiques internes/jonctions/liens symboliques, cette fonctionnalité
n'est disponible que sur des volumes NTFS.
Si une Copie Intelligente dure plus de 250msec une barre de progression affiche l'état de l'opération
de copie
La Copie Intelligente traite aussi tous les flux (ou streams) alternatifs de fichiers NTFS
Si des éléments sont déjà présents dans la destination, la Copie Intelligente ne fait la recopie que si
les Fichiers/Liens Symboliques/Jonctions/Points de Montage sont plus récents que ceux qui existent déjà.
Quand on restaure des liens symboliques LSE redirige l'opération
de LSEUacHelper.exe vers lui-même, car la création de liens symbolique
nécessite une élévation de privilèges, et donc amène la fameuse boîte de dialogue UAC.
LSE ne redirige ce LSEUacHelper.exe que seulement si un lien symbolique est dans/sous le répertoire sélectionné,
et ainsi vous économise des demandes de l'UAC si vous n'avez pas de liens symboliques à l'intérieur de votre
sélection
La Copie Intelligente crée par défaut des liens symboliques relatifs
lors de l'opération de copie.
Ligne de commande
La fonctionnalité de Copie Intelligente est également disponible en ligne de commande depuis l'utilitaire
ln.exe via le commutateur de ligne de commande --copy.
Supprimer coupe les liens sortants vers les répertoires Jonctions/Liens symboliques dans la destination
Supprimer s'applique également sur les liens symboliques vers des fichiers sortants.
Dans l'exemple ci-dessus Folder1 est copié vers Destination/Folder1, mais la Jonction/Lien symbolique n'est pas disponible dans la destination,
car Folder1/Outer Junction/Symlink pointe vers la cible Folder0/Outer Junction/Symlink Target,
qui n'est pas situé en dessous de Folder1.
L'objectif derrière cette découpe des répertoires sortants Jonctions/Liens symboliques est d'obtenir une copie
pure lors d'une Copie Intelligente, un Miroir Intelligent, une copie Delorean and et un Clonage sans connexions
vers la source.
Activation de la suppression pour les Jonctions/Liens symboliques sortants Supprimer peut être sélectionné via l'outil de configuration.
Exprimer
Exprimer suit les répertoires Jonctions/Liens symboliques sortants
et reconstruit le contenu de ces répertoires Jonctions/Liens symboliques sortants à l'intérieur de la hiérarchie
de la destination.
Exprimer s'applique également aux Liens Symboliques vers des Fichiers, ce qui signifie, que cet "Exprimer" va
faire en sorte que la cible de ce lien sortant soit copiée vers la destination.
Dans l'exemple ci-dessus Folder1 est copié vers Destination/Folder1, et Outer Junction/Symlink et tous les fichiers/répertoires en dessous de la cible
Outer Junction/Symlink sont copiés vers le répertoire Outer Junction/Symlink de la destination.
L'objectif derrière cet "Exprimer" les répertoires sortants Jonctions/Liens Symboliques est de faire en sorte
que tout ce qui est connecté dans la source soit reconstruit en copie indépendante dans la destination. Cela ressemble au truc du 'cheveu de l'éléphant': Tirez sur un cheveu d'un éléphant,
et vous obtenez tout l'éléphant.
Exprimer est le comportement par défaut pour la Copie Intelligente, Miroir Intelligent, Copie Delorean
et Clonage.
Remarques avancées sur "Exprimer"
La figure ci-dessus n'était que le cas le plus simple, car Exprimer peut faire bien plus
quand il rencontre des situations complexes. Prenons le cas de jonctions/liens symboliques sortants,
qui contiennent eux-mêmes des jonctions/liens symboliques sortants, qui sont internes à la
première jonction/lien symbolique sortante :
Dans l'exemple ci-dessus Folder1 est copié vers Destination/Folder1, et
Outer Junction/Symlink est exprimé comme désiré, mais comme Junction/Symlink
est une jonction interne de la cible Outer Junction/Symlink, et la relation jonction/lien symbolique
est restaurée dans la destination.
Ce type de bouclage peut être encore plus complexe :
Dans l'exemple ci-dessus Folder1 est copié vers Destination/Folder1, et
Outer Junction/Symlink est exprimé comme désiré, mais alors ça se complique
car nous avons 2 niveaux de jonctions/liens symboliques sortants qui ont tous leurs propres
jonctions/liens symboliques internes, et qui sont restaurés correctement. Quand vous
vous serez creusé la tête sur l'exemple ci-dessus, vous comprendrez. Ce n'est pas simple, je sais,
mais c'est nécessaire pour Exprimer correctement.
Et la complexité s'accroit si des liens symboliques sur fichiers sont à l'intérieur de l'expression des
jonctions/liens symboliques sortants :
Dans l'exemple ci-dessus Folder1 est copié vers Destination/Folder1, et
Outer Junction/Symlink est exprimé comme désiré, mais il contient Inner Outer Symlink qui pointe vers Inner Outer Symlink Target et c'est
une jonction/lien symbolique interne de la cible Outer Junction/Symlink Target
Mais il vaut le coup de signaler que le Lien Symbolique Outer Symlink, en définitive
devrait être un lien symbolique sortant, mais comme son répertoire-parent cible Outer Junction/Symlink Target est exprimé, Outer Symlink devient un lien symbolique interne de
Folder1.
File1 Symlink est aussi un lien symbolique sortant, mais son répertoire-parent cible
Folder2 n'a pas autant de chance pour être exprimé, aussi dans la destination File1 Symlink
n'est plus un lien symbolique, mais une copie de la cible du lien.
Les Points d'Analyse (ou Reparse Points) Imbriqués sont aussi un cas intéressant d'utilisation avec lequel est confronté l'algorithme :
Dans l'exemple ci-dessus Folder1 est copié vers Destination, et
Junction/Symlink F0 et est déroulé comme prévu, mais il contient des
points d'analyse imbriqués internes. Imbriqué signifie "Point d'Analyse" pointant lui-même vers un "Point d'Analyse".
La fonctionnalité Unroll ouvre aussi la possibilité d'avoir des relations de Jonctions/Liens Symboliques circulaires
à l'intérieur d'un ensemble d'éléments copiés :
Dans l'exemple ci-dessus Folder1 est copié via l'option --unroll vers Destination/Folder1.
Les opérations de Copie Intelligente/Miroir Intelligent et Copie Delorean peuvent traiter les circularités
et casser ces circularités en ne suivant pas les Jonctions/Liens Symboliques
affectés.
Les Jonctions/Liens Symboliques peuvent également pointer vers des disques FAT ou d'autres disques NTFS exigeant
en prérequis un unique Disk-IDs sur tous les disques, qui sont chaînés ensemble via des Jonctions/Liens
Symboliques :
Le ciblage des liens physiques sont trouvés en recherchant un unique file-id sur un volume NTFS, mais si
plusieurs volumes sont chaînés ensemble il peut se produire qu'un même file-ids soit
trouvé sur deux volumes NTFS différents. Pour pallier à ceci toutes les opérations utilisent le disk-id
et le file-id pour marque le ciblage des liens physiques.
D'autre part il n'est pas permis d'avoir un disk-id de 0xffff-ffff, car les algorithmes
utilisent cela comme indicateur interne sur un disque FAT.
L'option Unroll permet également de pointer de multiples jonctions sur une même localisation de cible,
ce qui fait que les algorithmes traversent plusieurs fois les mêmes éléments :
Au premier coup d'oeil la traversée d'éléments multiples parait simple, mais pour des fichiers cela
signifie que des fichiers traversés de multiples fois sont à la fin identiques dans la destination et sont liés physiquement
ensemble. Aussi ne soyez pas étonnés si vous voyez des liens physiques, qui n'ont jamais été là
avant.
La copie de Jonctions/Liens Symboliques depuis des disques réseaux mappés demande aussi quelques précautions supplémentaires, car
les jonctions sur la machine réseau sont en relation avec des références de chemins seulement valables sur les machines réseau
respectives :
L'exemple de l'image ci-dessus montre une telle situation
X:\Src\Foo\Junction/Symlink est une jonction sur une Machine Réseau, qui pointe vers X:\Src\Foo\Folder.
C'est une Jonction valide.
X:\Src\Foo est partagée via \\RemoteMachine\MyShare, ce qui là aussi ne pose pas de problème.
\\RemoteMachine\MyShare mappé vers T:\ sur la machine locale est correct, mais pour la Jonction T:\Junction/Symlink,
si on en demande la cible, retournera alors X:\Src\Foo\Folder même sur la Machine Locale. On pourrait supposer
que la cible est T:\Folder, mais ça ne marche pas avec les Jonctions.
Lorsqu'une Copie Intelligente/Miroir/Delorean est confrontée à une telle situation, elle traduit correctement la Jonction lors
de la copie vers le disque Y:\ de la Machine Locale, et ainsi la Jonction finale pointe correctement la cible vers
Y:\Dest\Bar\Folder
Préserver reconnecte les répertoires Jonctions/Liens symboliques sortants de la destination vers leurs cibles originales.
Dans l'exemple ci-dessus Folder1 est copié vers Destination/Folder1, et
Outer Junction/Symlink est disponible dans la destination en tant que jonction, qui
pointe vers l'emplacement original de la cible Outer Junction/Symlink Target.
L'objectif derrière ce maintien des répertoires Jonctions/Liens Symboliques vers leurs emplacements
originaux est d'obtenir une copie lors d'une Copie Intelligente, mais de réutiliser les sources des répertoires
Directories source locations.
La fonctionnalité Préserver est aussi utile lorsque des points de montage doivent être copiés Les points de montage sont similaires
aux Jonctions, mais pointent vers des chemins qui commencent toujours par \\?\VolumeGuid{}.
Activation de Préserver pour les Jonctions sortantes/Liens Symboliques
On peut spécifier des localisations multiples pour les copies intelligentes, les Clonages et
les copies Delorean. S'il y a des jonctions/liens symboliques entre ces localisations, elles sont traitées comme
des jonctions/liens symboliques internes, car toutes ces localisations partagent une racine commune.
Dans l'exemple ci-dessus Location1 et Location2 sont copiés vers Destination.
Location2/Junction20 sont traités comme jonctions internes vers Location1/Folder10 dans la source,
et c'est donc pourquoi Destination/Junction20 pointe vers Destination/Folder10 dans la Destination.
L'objectif derrière cela est de traiter toutes les jonctions/liens symboliques comme des jonctions/liens symboliques internes tant qu'elles
sont dans le même ensemble de répertoires sources.
Dans LinkShell Extension cela fonctionne comme suit :
Dans l'exemple ci-dessous tout le contenu de Location 1 et Location 2 et pskill.exe est sélectionné.
Des jonctions/liens symboliques possibles dans Location 1 pointant vers Location 2 ou vice versa sont traités comme des
jonctions/liens symboliques internes, car toute la sélection est traités avec une racine commune.
Le Déplacement Intelligent permet aux répertoires contenant des jonctions et des liens symboliques d'être renommés. Les
cibles des jonctions et liens symboliques sont mis à jour à l'intérieur de ces répertoires. Sans le Déplacement Intelligent
le renommage de tels répertoires conduirait à obtenir des jonctions ou liens symboliques morts, soit ne pointant plus sur la cible.
Avec des jonctions ou les liens symboliques sur répertoires, cela fonctionne comme suit :
En regardant de près la figure ci-dessus on peut voir trois
différents types de répertoires/jonctions :
Répertoires Normaux
Le répertoire 'Folder 3' est un répertoire normal. Il sera déplacé avec son contenu directement.
Jonctions / Liens Symboliques Internes
Le répertoire 'Inner Junction/Symlink' a pour cible 'Inner Junction/Symlink Target'.
Dans la terminologie de LSE ce type de répertoire est dénommé Jonction / Lien Symbolique Interne, parce que sa cible
pointe vers un répertoire qui est situé en dessous de la racine commune 'Folder 1'.
Les Jonctions / Liens Symboliques Internes sont correctement mis à jour par un Déplacement Intelligent dans la localisation de destination.
Jonctions / Liens Symboliques Externes
Le répertoire 'Outer Junction/Symlink' a pour cible le répertoire 'Outer Junction/Symlink Target'.
Dans la terminologie de LSE ce type de répertoire est dénommé Jonction / Lien Symbolique Externe, parce que sa cible
pointe vers un répertoire qui si situe sur une branche parallèle et donc en dehors de la racine 'Folder 1'.
Les Jonctions / Liens Symboliques Externes ne sont pas affectés par le Déplacement Intelligent et restent donc connectés à leurs cibles respectives.
Notez SVP que ce n'est pas la même chose dans une Copie Intelligente, qui a 3 façons différentes
de se comporter avec les Jonctions/Liens Symboliques Externes.
La fonctionnalité de Déplacement Intelligent est intégrée da façon transparente dans l'Explorateur, donc vous n'avez rien
de particulier à faire. Déplacez simplement un répertoire à la souris dans l'explorateur vers sa destination finale, ou par exemple pressez F2
dans l'Explorateur pour renommer un répertoire et LSE interceptera cette opération sous le capot, prendra soin des
jonctions ou liens symboliques, et les mettra à jour.
Intercepter une opération de déplacement ou de renommage signifie que LSE prend le contrôle avant le renommage/déplacement, et de façon récursive
recherche dans le répertoire sélectionné les jonctions ou liens symboliques. Toutefois, la recherche dans un grand nombre de fichiers et
répertoires prend du temps, aussi LSE affichera une barre de progression dès que la recherche prend plus de 250 msec.
Si des liens symboliques doivent être mis à jour LSE appelle son acolyte UAC LSEUacHelper.exe.
Si le mode sauvegarde est activé le compagnon UAC, LSEUacHelper.exe, est appelé dans tous les cas, car LSE a besoin d'énumérer les fichiers là où
il pourrait ne pas en avoir les droits.
Le Déplacement Intelligent crée des liens symboliques relatifs durant une opération de Déplacement Intelligent.
Si un LocalizedResourceName est entré via desktop.ini et que le dossier en question est en lecture seule, SmartMove (déplacement intelligent) ne fonctionnera pas.
Cela semble être un bug dans le "Shell Explorer" depuis un certain temps déjà. ICopyHook::CopyCallback() n'est pas du tout appelé dans cette
situation.
Activer/Désactiver le Déplacement Intelligent
Le Déplacement Intelligent peut être activé/désactivé via l'outil de configuration
Ligne de Commande
La fonctionnalité de Déplacement Intelligent est également accessible en ligne de commande par ln.exe
via le commutateur de ligne de commande --move.
Les Clones sont des copies de l'arborescence d'un répertoire d'une localisation d'origine recréées vers une localisation de destination, cependant
les fichiers à l'intérieur de ce nouveau répertoire sont des Liens Physiques ou des Liens Symboliques vers les originaux du répertoire d'origine.
Une arborescence de répertoire peut contenir des Jonctions ou des Liens Symboliques. Le processus de clonage recrée les jonctions/liens symboliques internes
dans la localisation de destination de façon similaire à ce que la Copie Intelligente réalise.
Sous Windows7/8/10 ce processus de clonage est également disponible avec des Liens Symboliques en plus des Liens Physiques.
Les Clones sont créés de la même façon que les Jonctions par exemple. Sélectionnez un répertoire,
cliquez sur le bouton d'Action, choisissez Prendre comme cible du lien depuis le menu d'action...
...naviguer vers le répertoire de destination, pressez le bouton d'action, ouvrez le sous-menu Coller ... et sélectionnez un clone physique:
... choisissez un clone symbolique pour créer des clones de la structure arborescente existante.
Les Clones Physiques et Symboliques peuvent également être créés par Glisser-Déposer à la souris. Sélectionnez un répertoire et glissez-le
tout en maintenant le bouton d'action enfoncé vers le répertoire de destination. Quand le bouton d'action
est relâché, ouvrez le sous-menu Coller... et sélectionnez un clone physique
ou sous Windows7/8/10 un clone symbolique:
Les Clones Physiques ou Symboliques sont utiles si vous avez besoin de dupliquer
la structure arborescente d'un répertoire vers un autre endroit. L'espace disque requis est minimal car
la nouvelle structure consiste seulement en de nouvelles entrées de répertoires NTFS sans réelle nouvelle quantité
de stockage de données.
Si à la fois des fichiers et des
répertoires sont sélectionnés comme Source de lien puis collés en tant que
Clone Physique alors les fichiers sélectionnés seront collés an tant que liens physiques
conjointement aux Clones Physiques.
Comme le Clonage utilise des Liens Physiques ou des Liens Symboliques, ils ne sont disponibles que sur des volumes NTFS.
Le Clonage Physique ne peut pas dupliquer une structure de répertoire d'un volume disque vers un autre
volume, car les Liens Physiques sont limités à des opérations sur un même disque.
Les Clones Symboliques peuvent être utilisés pour créer des clones inter-disques.
Quand vous créez des Clones, LSE appelle son
acolyte LSEUacHelper.exe pour lui sous-traiter cette opération, si l'arborescence du répertoire
contient des liens symboliques, car la création de liens symboliques
nécessite une élévation de privilège, ce qui conduit au
fameux dialogue UAC.
LSE appelle seulement son acolyte LSEUacHelper.exe si un lien symbolique est dans/sous le répertoire
sélectionné, et ainsi vous sauve d'un dialogue UAC s'il n'y a pas de lien symbolique dans votre sélection.
Limitations
La création d'un lien physique nécessite un accès en écriture à la source du lien physique.
Cela signifie qu'un clonage de lien physique échouera, et ne génèrera qu'une structure de répertoire vide, si un accès en écriture aux fichiers sources
n'est pas disponible. La raison en est la façon dont Windows implémente les liens physiques, car les informations de sécurité d'un
fichier et par conséquent de tous les liens frères sont partagés entre eux tous.
Dans ce cas, la création de liens physiques clones peut être activée en accordant un accès en écriture aux fichiers sources à l'utilisateur qui
créera un clone de lien physique, ou à tous les utilisateurs dans le cas d'un utilisateur unique.
Ligne de Commande
La fonctionnalité de Clonage via des Liens Physiques ou des Liens Symboliques est également accessible par
l'outil en ligne de commande ln.exe
via le commutateur de ligne de commande --recursive.
Un Miroir Intelligent est très semblable à une Copie Intelligente
et non seulement il copie mais aussi synchronise les répertoires Source et Destination:
Copie de façon intelligente les éléments dont la datation dans la Destination est différente de celle de la Source.
Supprime les fichiers de la Destination qui ne sont plus disponibles dans la Source.
Le Miroir Intelligent prend soin des relations de liens physiques, Restaure les Jonctions Internes ou les Liens Symboliques internes ou quand
il le faut déroule ou raboute des Jonctions externes ou des Liens Symboliques externes.
Un Miroir Intelligent est créé de la même façon que par exemple des Jonctions. Sélectionnez un répertoire,
cliquez sur le bouton d'Action, choisir Prendre comme cible du lien du menu d'action...
...naviguer vers le répertoire de destination, appuyez sur le bouton d'action, ouvrir
le sous-menu Coller... et sélectionnez Miroir Intelligent:
Le Miroir Intelligent est un peu différent d'un Renommage Automatique, car
il suppose que le répertoire de destination existe déjà dans la localisation de destination, et qu'il a le même nom que dans
le répertoire source, et ainsi, peut en faire un miroir.
Une Copie DeLorean est une façon de créer des sauvegardes incrémentales en utilisant une combinaison de Clones Physiques et de Copies Intelligentes.
La figure suivante donne un aperçu de ce qu'est une Copie DeLorean
En général une Copie DeLorean est basée sur 3 choses : Source(t), Sauvegarde initiale (InitialBackup) et Sauvegarde (n) (Backup).
Phase 1 : Copie Intelligente initiale
Le répertoire Source(t) est copié initialement vers InitialBackup. C'est ce qui est montré par la flèche bleue
Des changements se produisent
Durant cette phase, des fichiers de la source changent, et
Source(t) devient Source(t+1).
Phase 2 : Clonage Physique
Le répertoire InitialBackup est Cloné Physiquement vers
Backup1, qui devient InitialBackup et Backup1. C'est ce qui est montré
par la flèche rouge.
Phase 3: Miroir
Faire un Miroir du répertoire Source vers Backup1. C'est ce
qui est montré par la flèche verte :
Garde inchangés les fichiers comme liens physiques vers InitialBackup.
Supprime les fichiers qui ne sont plus dans Source(t+1) de Backup1.
Copie les fichiers différents de Source(t+1) vers Backup1.
A la fin de cette première étape Backup1 contient la première copie ("lean and mean")
de Source consistant seulement en des liens physiques vers InitialBackup,
ou de fichiers copiés s'il y avait besoin de les recopier depuis Source(t+1)
car ils étaient plus récents dans Source(t+1).
Le point important est que tous les fichiers de Backup1 sont accessibles de façon transparente, mais
que peu d'espace est utilisé, car tous les fichiers Source(t+1) n'ont pas été changés,
et donc qu'il n'y a eu effectivement besoin de copier que quelques fichiers depuis Source(t+1)
vers Backup1.
Ceci peut être répété encore et encore. La seconde étape est d'utiliser Source, Backup1 et Backup2 pour la Copie DeLorean :
Des changements se produisent
Durant cette phase des fichiers de source changent, et
Source(t+1) devient Source(t+2).
Phase 2 : Clonage Physique
Le répertoire Backup1 est Cloné Physiquement vers Backup2,
qui devient Backup1 et Backup2. C'est ce qui est montré par la flèche rouge.
Phase 3 : Miroir
Faire un Miroir du répertoire Source(t+2) vers Backup2.
C'est ce qui est montré par la flèche verte :
Garde inchangés les fichiers comme liens physiques vers Backup1.
Supprime les fichiers qui ne sont plus dans Source(t+2) de Backup2.
Copie les fichiers plus récents de Source(t+2) vers Backup2.
Les Copies DeLorean sont créées de la même façon que par exemple les Jonctions. Sélectionnez un répertoire,
cliquez sur le bouton d'Action, choisissez Prendre comme source du lien depuis le menu d'action...
...naviguer vers le répertoire de destination, pressez le bouton d'action, ouvrez le sous-menu Coller...
et sélectionnez Copie DeLorean:
Si une Copie DeLorean est effectuée pour la première fois dans un répertoire, les opérations, qui sont décrites dans la
phase 1 des descriptions ci-dessus, en fait une Copie Intelligente, sont réalisées. Link Shell Extension automatiquement
génère un nom de répertoire de destination en y ajoutant un horodatage.
Toute copie suivante d'un répertoire dans ce répertoire de destination initialise les Phase 2 et Phase 3 de la
description ci-dessus, en fait un Clonage Physique de la copie de sauvegarde précédente vers la sauvegarde courante puis
réalise le miroir de la source vers la sauvegarde courante.
Un répertoire contenant plusieurs copies peut apparaître ainsi.
Limitations
C'est peu connu, mais NTFS possède une limite de 1023 liens physiques vers un seul fichier. Dans le cas d'une
Copie DeLorean cela signifie qu'il y aura affichage d'un message d'erreur si cette limite est atteinte, parce que
dépasser cette limite conduit à une perte de données dans les plus récents jeux de sauvegardes:
Les raisons d'atteindre cette limite peuvent être que, il y avait déjà plus de 1023 jeux de sauvegardes
mais sans liens physiques dans la Source, ou bien il y a des liens physiques à l'intérieur de la Source et donc moins de 1023
jeux de sauvegardes.
Le sous-menu de Copie DeLorean n'apparaîtra pas s'il y a plus d'un répertoire dans la sélection source.
Une copie DeLorean est sûre pour les longs chemins, ce qui signifie qu'elle sait traiter des longueurs de chemins supérieures à 256 caractères.
C'est important, car réaliser une copie avec un chemin relativement long, mais un peu en dessous d'une longueur de 256 caractères,
vers une localisation de destination peut conduire à un résultat combiné de plus de 256 caractères. Dans une telle situation
aucune perte de données ne doit se produire, ce que la Copie Delorean garantie en étant 'sûre pour les longs chemins' ('long path safe').
SVP soyez certains que l'Explorateur ne vous montrera pas le résultat de cette copie, mais les fichiers sont bien là.
Des explorateurs alternatifs comme SpeedCommander peuvent traiter ce problème.
Ligne de Commande
La fonctionnalité de Copie DeLorean est également disponible via ln.exe
Le mode Sauvegarde permet à LSE de copier aussi des ACLs (Access Control List soit des Listes de Contrôle d'Accès), des Fichiers Cryptés depuis n'importe quel répertoire, y compris ceux
non accessibles aux utilisateurs courants.
LSE lance toujours son processus d'aide LSEUacHelper.exe, qui par conséquent active
la demande d'UAC pour élévation de privilèges et vérification de mot de passe.
Ceci s'applique à la Copie Intelligente, au Miroir Intelligent, au Clonage Intelligent, à la Copie Delorean, au Déplacement Intelligent
et au remplacement des Jonctions/Liens Symboliques/Point de Montage.
LSE.exe copie donc
Les flux alternatifs sur les fichiers et répertoires
Les enregistrements EA sur les fichiers et répertoires (rarement utilisés)
Informations des Points d'Analyse
Les attributs des Fichiers
Les datations : dates de Création, de Dernier Accès, de Dernière Écriture
Des fichiers clairsemés ou des flux alternatifs clairsemés
Des fichiers Cryptés
Des ACLs
Par défaut le mode Sauvegarde est désactivé, et on peut donc l'activer via l'outil de configuration de LSE.
Pour être en mesure d'effectuer des opérations de sauvegarde l'utilisateur doit posséder les droits SE_BACKUP_NAME et SE_RESTORE_NAME.
Un outil de configuration hors Windows peut assigner ces privilèges aux groupes Backup-Operator et Administrateur, mais
en plus les privilèges ci-dessus peuvent être affectés individuellement à certains utilisateurs ou groupes.
L'assignation de privilèges peut se faire
Par gpedit.msc
et en naviguant vers
"Configuration ordinateur" ->"Paramètres Windows" -> "Paramètres de sécurité"
-> "Stratégies locales" -> "Attribution des droits utilisateur" -> "Sauvegarder les fichiers et répertoires"
"Configuration ordinateur" ->"Paramètres Windows" -> "Paramètres de sécurité"
-> "Stratégies locales" -> "Attribution des droits utilisateur" -> "Restaurer les fichiers et répertoires"
Sans gpedit.msc
Télécharger PolsEdit et ajouter les utilisateurs et groupes, qui doivent être capables d'effectuer des
Sauvegardes, aux privilèges SE_BACKUP_NAME et SE_RESTORE_NAME.
Les points de montage sont une fonctionnalité permettant
d'accéder à un volume local complet depuis une position arbitraire de disque.
Les points de montage de volume sont créés de la même façon que des liens physiques, à l'exception que la Source du Lien est un volume plutôt qu'un fichier. Sélectionnez un
volume local, cliquez sur le bouton droit de la souris, choisissez Prendre comme Source du lien dans le menu d'action, naviguez vers le répertoire
de destination, cliquez sur le bouton d'action, ouvrez le sous-menu Coller ... et sélectionnez Un point de montage:
Les points de montages peuvent aussi être créés par Glisser-Déposer lorsque le volume local sélectionné est glissé avec le bouton d'action enfoncé vers un répertoire de
destination ; quand vous relâchez le bouton droit de la souris, sélectionnez le sous-menu Coller ... puis Un point de montage.
Les points de montage peuvent être supprimés en utilisant la commande "Démonter le volume" depuis l'Explorateur comme d'habitude.
Pour afficher l'origine d'un point de montage, on utilise la colonne référence du
point de montage, qui affiche alors le volume qui est monté sur le chemin sélectionné.
Soyez sûrs que seuls des volumes locaux peuvent être montés, pas des disques réseaux.
La création et la suppression de points de montage de Volumes
nécessite une élévation de privilèges, ce qui signifie que le fameux dialogue UAC
doit être accepté.
Comme décrit dans les fiches d'informations
NTFS maintient un compteur pour chaque flux de données référençant combien de fois une entrée de répertoire NTFS se réfère à cet objet.
Pour afficher le compteur de référence, on peut activer une colonne du panneau droit de l'Explorateur en cliquant sur la colonne de Titre de la vue en mode "Détails".
Après avoir activé la colonne de référence le compteur est affiché pour chaque fichier.
Windows7/8/10: La colonne affichant le compteur de référence
ainsi que la source de la jonction ne sont pas accessibles, car la façon dont Windows7/8/10 traitent
les colonnes définies par l'utilisateur a été revue complètement par Microsoft et toutes les applications travaillant avec
ce qu'on nomme les ColumnHandlers doivent être réécrites partiellement.
Link Shell Extension supporte également l'affichage des Propriétés de l'Explorateur, ce qui signifie que si les propriétés d'un fichier ou d'un répertoire sont ouvertes dans l'Explorateur, Link
Shell Extension y ajoute son propre onglet pour y afficher les propriétés d'un lien physique, d'une jonction, d'un point de montage de volume ou d'un lien symbolique.
Cet onglet additionnel n'est affiché dans les propriétés d'un fichier ou d'un répertoire, que si le
fichier ou le répertoire est un lien physique, une jonction, un point de montage de volume ou un lien symbolique,
sinon cet onglet n'est pas disponible.
Exploration
Pour des jonctions, point de montages ou liens symboliques ce dialogue affiche aussi un
bouton 'Explorer la cible', qui ouvre l'Explorateur dans le répertoire spécifié.
Edition
Pour les Jonctions, les liens Symboliques ou les points de montage le champ cible est éditable, et après avoir soit appuyé sur le bouton appliquer
soit quitté le dialogue des Propriétés du lien par ok, les changements sont appliqués à la Jonction, au Lien Symbolique ou au point de montage.
Si le Mode Sauvegarde est activé, la Liste de Contrôle d'Accès (ou "ACL")
de la Jonction, du Lien Symbolique ou du Point de Montage est préservée.
Créer un Lien Symbolique est dans le principe la même chose que la création d'un autre type de lien. Cliquez avec le bouton d'action
sur le(s) fichier(s) sélectionné(s) puis sélectionnez Prendre comme source du lien depuis le menu d'action.
Quand vous cliquez sur le bouton d'action dans le répertoire de destination, le menu contient un sous-menu Coller ..., et pour créer un Lien Symbolique
sélectionnez dans le sous-menu "un Lien Symbolique". A l'inverse des liens physiques, les Liens Symboliques peuvent se propager au travers des volumes.
S'il y a à la fois des fichiers et des répertoires de sélectionnés en tant que Source des liens et qu'on les copie en tant que Clone Symbolique alors les fichiers sélectionnés sont recopiés
comme des liens Symboliques à côté des répertoires Clones Symboliques.
Des Liens Symboliques peuvent aussi être créés entre répertoires.
un chemin complet depuis la racine d'un disque comme par ex. e:\data\cpp\myfile.txt
ou peut être spécifiée de façon relative comme par exemple ..\..\data\cpp\myfile.txt
Par défaut LSE essaye de créer des noms de cible en relatif pour les liens symboliques du moins
quand c'est possible, comme quand le fichier et sa cible appartiennent à un même disque logique.
Avoir des liens symboliques relatifs sur des cibles est bien plus facile en particulier si la cible des liens
est dans le même répertoire.
Si le lien symbolique et sa cible sont sur des disques différents, LSE utilise des noms de chemins en absolu.
L'outil de configuration peut permettre à Link Shell Extension de basculer
en mode relatif ou absolu.
Icones de superposition pour les Liens Symboliques
Pour aider à distinguer les Liens Symboliques de fichiers/répertoires normaux, une icône de superposition est implémentée
sur les liens symboliques et s'affiche comme une flèche vert clair sous le nom.
Les icônes de superposition des Liens Symboliques peuvent aussi être personnalisées.
Sélectionnez tout simplement un fichier qui a un lien physique et
sélectionnez ses Propriétés depuis le menu d'action:
La fonctionnalité d'Énumération de liens physiques est aussi disponible en
ligne de commande depuis
ln.exe
à l'aide des commutateurs de ligne de commande --enum ou
--list.
En raison de l'UAC certains appels d'API nécessitent une élévation de privilèges au niveau administrateur, et cette élévation doit être acceptée via la boîte de dialogue montrée ci-dessous.
Donc si vous voyez la boîte ci-dessous, et que le programme qui demande l'élévation est LSEUacHelper.exe, c'est la contribution de Link Shell Extensions à l'UAC et vous devez l'accepter pour pouvoir créer
des Liens Symboliques.
Une façon de contourner l'appel UAC pour la création de Liens Symboliques est de permettre globalement
aux utilisateurs de créer des Liens Symboliques en changeant la politique :
Avec gpedit.msc
Démarrer gpedit.msc depuis une ligne de commande et accorder/révoquer les permissions aux utilisateurs spécifiques : Dans
"Computer Configuration" ->"Windows settings" -> "Security Settings" -> "Local Policies" -> "User Rights Assignments" -> "Create Symbolic Links".
Sans gpedit.msc
Télécharger PolsEdit et ajouter les utilisateurs à SE_CREATE_SYMBOLIC_LINK_NAME.
Assurez-vous de vous déconnecter et de vous reconnecter après avoir changé de stratégie pour que les changements soient pris en compte.
L'extension Linkshell peut traiter de l'octroi des privilèges ci-dessus, et si le privilège de lien symbolique est disponible, on évite ainsi l'invite UAC.
Mode Développeur sous Windows10
Une autre façon de contourner l'élévation de privilèges UAC serait
d'activer le mode développeur,
ce qui est disponible sous Windows10/14972.
C'est assez peu connu, mais le protocole de réseau SMB supporte des opérations de
création réseau de Liens Physiques, de Jonctions et de Liens Symboliques pour des disques
réseau SMB vus par NTFS.
Cette possibilité est utilisée par Link Shell Extension, pour activer la création de
Liens Physiques Réseau, Jonctions Réseaux, ou Liens Symboliques Réseaux. par exemple :
Mapper un partage réseau
Choisir un fichier de ce partage
Coller le fichier en tant que lien physique à l'intérieur de ce même partage
Un Lien Physique a été créé, ce qu'on peut facilement vérifier
De plus SMB1.0 supporte également le compteur de référence pour les liens physiques et
l'origine de la jonction pour les Jonctions, ce qui permet à Link Shell Extension
d'afficher le dialogue des propriétés pour des fichiers réseaux. Actuellement le compteur de
référence d'un lien physique fonctionne correctement via SMB1.0 dans 90% des cas, aussi soyez
conscient de cette restriction.
LSE supporte à la fois les disques réseaux mappés et les chemins UNC.
Les disques réseaux qui sont mappés mais qui ne sont pas accessibles peuvent être en général la raison
pour laquelle on obtient de piètres performances au démarrage de l'Explorateur. Des délais de plusieurs secondes
apparaissent si l'explorateur doit vérifier le mappage de tous les disques, et en particuliers
ceux qui ne sont pas accessibles. C'est encore pire, si LSE vérifie aussi le status
de tous les disques.
Pour contourner ce problème, les capacités réseaux de Link Shell Extension
peuvent être activées/désactivées via l'outil de configuration.
Liens Physiques Réseau et version de SMB
Différentes versions de SMB sont implémentées dans les différentes versions de Windows ce qui entraîne différents
comportements des liens physiques :
SMB1.0: Windows XP, Windows2000 ...
SMB2.0: Windows Vista ...
SMB2.1: Windows7/8, Windows Server 2008 R2 ...
SMB3.0: Windows10, Windows Server 2012 R2 ...
Toutes ces versions supportent la création de liens physiques réseaux, mais depuis SMB2.0 on
ne peut plus savoir si un fichier sur un disque réseau est un lien physique ou non.
Cela signifie, que par exemple si vous vous connectez depuis une machine Windows XP vers un disque SMB2.1,
qui est sur une machine Windows7/8/10, vous ne pourrez pas voir les icônes de superpositions
sur les fichiers liens physiques, mais vous serez capable d'en créer en ligne.
LSE supporte les médias amovibles qui ont été formatés par NTFS, pour créer toutes les fonctions qu'il réalise aussi sur les disques fixes. La seule limitation
est que ça ne fonctionnera pas sur des disques amovibles s'ils sont montés en tant que disque A: ou B:. La raison en est que A: ou B: sont communément utilisés pour des disquettes.
Avec des médias amovibles formatés en NTFS on quelques chances que LSE rapporte
des problèmes de type 'Access denied', lors de la création de liens physiques ou de jonctions. Ceci est lié à la façon
dont les permissions sont faites sur les disques amovibles NTFS, qui ont été créés sur ce média amovible
mais sur un ordinateur différent, et donc amenant ces messages 'Access denied'. La solution
ici est de changer les permissions sur ce média amovible depuis un compte Administrateur.
L'explorateur supporte des noms de chemins contenant jusqu'à 256 caractères, ce qui impose cette contrainte de longueur de nom à toutes les applications.
D'un autre côté NTFS supporte des noms de chemins contenant jusqu'à 32767 caractères, aussi est-on
vite confronté à ces longueurs de noms de chemins plus longs que 256 caractères. Pour faire face
à cela, LSE peut traiter les Très Longs Chemins jusqu'à 32767 caractères dans toutes ses
opérations.
Avec la commande subst.exe on peut créer des lettres de disques qui pointent vers un certain chemin d'un disque NTFS. Cela signifie que deux
lettres différentes peuvent en final se résoudre en deux localisations sur un même disque NTFS.
Link Shell Extension vérifie ces situations quand il permet la création de liens physiques, et en conséquence autorise
la création de liens physiques entre plusieurs disques logiques dans la mesure où ils appartiennent au même volume NTFS.
Microsoft a introduit dans Windows Server 2012 le système de fichiers
ReFS,
qui est désigné comme le successeur de NTFS. La première
implémentation de ReFS peut faire des choses certes très bien, mais il lui manque quelques fonctionnalités importantes de NTFS comme le support des liens physiques.
Les liens physiques sont disponibles sous ReFs3.5
Link Shell Extension supporte ReFS de façon à ce qu'on puisse créer des Liens Symboliques, des Points de Montage, Jonctions sur des volumes ReFS.
Mais, pour les versions antérieures à la 3.5, il génèrera un message d'erreur si on crée un lien physique interne sur un volume ReFS. Aussi les conséquences
en détails pour Link Shell Extension sont :
Donner des disques ReFS en tant que destination de Copies Delorean échouera à tous coups, au moins lors de la création d'un second backup d'un ensemble Delorean.
Comme ReFS est supposé supporter l'intégralité des fonctionnalités de NTFS dans une release future, Link Shell Extension n'a pas
implémenté de contrôles particuliers pour lever les contraintes ci-dessus.
Aujourd'hui, on trouve de nombreux vendeurs de systèmes de fichiers tiers qui supportent les liens physiques, symboliques...
Afin de fournir la fonctionnalité de LSE sur ces unités, le système de fichiers supporté peut être configuré :
Ajoutez le nom de votre système de fichiers favori dans une liste séparée par virgule (type csv) à
Changer dans cette clé de registre ci-dessus par le nom connu du système de fichiers, qui prendra effet après un redémarrage de explorer.exe.
Si vous ne connaissez pas le nom du système de fichiers, vous pouvez le déterminer en utilisant
ln.exe depuis une ligne de commande.
ln --probefs x:
Par défaut c'est Btrfs qui est configuré comme système de fichiers tiers connu.
La configuration de votre système de fichiers favori pour être reconnu par LSE se fait à vos propres risques. A la base LSE effectuera toutes les opérations
sur le système de fichiers configuré, comme il le fait sur NTFS. Donc, soyez certains que votre système de fichiers supporte les mêmes fonctions de base que celles de NTFS
sinon l'opération échouera.
Link Shell Extension peut être ajusté/configuré pour satisfaire les goûts de chacun
sur certains points. Pour faciliter cela, Link Shell Extension a un compagnon dénommé LSEConfig,
qui change le comportement de Link Shell Extension via une Interface Utilisateur. Une fois démarré, LSEConfig vous affichera
le fameux dialogue UAC, car les changements de configuration de Link Shell Extensions
sont enregistrés dans la base de registres de Windows.
Localisation
L'Interface Utilisateur de Link Shell Extension et les commandes sont disponibles en plusieurs langues.
Vous pouvez choisir parmi :
English (par défaut)
Chinese (Chinois)
Czech (Tchèque)
French (Français)
German (Allemand)
Greek (Grec)
Italian (Italien)
Japanese (Japonais)
Korean (Coréen)
Polish (Polonais)
Portuguese Brazilian (Portugais Brésilien)
Russian (Russe)
Slovak (Slovaque)
Spanish (Espagnol)
Swedish (Suédois)
Turkish (Turc)
Ukrainian (Ukrainien)
Changer la langue de l'interface de Link Shell Extension demandera un redémarrage de l'explorateur une fois que
vous aurez appuyé sur Appliquer ou OK.
Déplacement Intelligent
Il peut être utile de complètement invalider le Déplacement Intelligent,
s'il y a des répertoires avec beaucoup de sous-répertoires.
On obtient cela en décochant la case Déplacement Intelligent (Smart Move).
Journalisation
Toutes les sorties des opérations de LSE comme Copie intelligente, Miroir intelligent, ou copie Delorean sont enregistrées dans le fichier %TEMP%\LinkShellExtension.log
Cibles distantes Réseau
Il peut être utile de complètement invalider les Cibles Distantes Réseau,
s'il y a beaucoup de 'disques réseau morts' (non accessibles) dans l'environnement.
On obtient cela en décochant la case Cibles distantes (Remote Capabilities).
Jonction/Lien Symbolique sortant
Décider si les Jonctions sortantes doivent être gérées par Supresssion,
être Déroulées (ou exprimées), ce qui est par défaut, ou Conservées.
Création de liens symboliques
En sélectionnant soit Relatifs soit Absolus Link Shell Extension créera
le type de lien correspondant.
Mode Copie (ou Copie de sûreté)
En cochant la case de Sauvegarde Link Shell Extension sera exécuté dans le Mode Sauvegarde.
Link Shell Extension possède nativement des icônes de superposition pour les jonctions, les liens physiques et les liens symboliques.
Comme les icônes sont sujettes aux goûts individuels, l'icône utilisée par Link Shell Extension peut être
spécifiée.
Le changement d'une des caractéristiques relatives aux icônes de superposition demandera un
redémarrage de l'explorateur quand on appuiera sur le bouton Appliquer ou OK.
Icône de superposition
Parfois il peut être utile de complètement désactiver certaines icônes de superposition de Link Shell Extension,
ce qui peut s'obtenir en décochant la case à cocher des Icônes de superposition.
Priorité
On ne peut afficher qu'une seule icône de superposition sur une icône, mais plusieurs gestionnaires peuvent être en concurrence
pour fournir une icône de superposition. Pour faire le tri de cela, chaque gestionnaire peut spécifier une priorité à l'explorateur
et l'explorateur affichera l'icône superposée qui a la priorité la plus haute.
Priorité élevée signifie un nombre plus faible, 0 étant la priorité la plus élevée
Icône personnalisée
En cochant la case icône personnalisée le bouton Parcourir... devient actif,
et on peut sélectionner une icône.
Gardez à l'esprit qu'une icône personnalisée est spécifique à chaque utilisateur.
Généralités Windows 7/8/10 sont un peu particuliers, parce que des icônes de superposition en 256x256 ne doivent pas
être cadrées dans le coin bas gauche de l'icône, et ne doivent pas être déjà plus petites pour parfaitement se 'superposer' à une icône existante.
Les icônes de superposition 256x256 doivent remplir complètement la place disponible et ne doivent pas non plus être redimensionnées.
En d'autres mots Windows7/8/10 prend n'importe quelle icône 256x256, la redimensionne en 92x92, la déplace
dans le coin bas à gauche et la superpose.
Pour les autres résolutions, inférieures à 256x256, sous Windows7/8/10 vous devez préparer une icône de superposition pour le coin bas gauche.
D'après mes investigations, un bon choix d'éditeur d'icônes capable de travailler sur les icônes Windows7/8/10 est
RealWorld Icon Editor
Appliquer les Changements
Quand vous appuyez sur OK ou Appliquer dans le dialogue de LSEConfigs, les configurations seront remplacées.
Si des changements sont effectués sur la configuration de la langue de Link Shell Extensions ou d'une
configuration relative aux icônes de superposition, on vous demandera de confirmer le redémarrage de
l'explorateur, afin que vos changements deviennent effectifs. Relancer
explorer.exe signifie, par exemple, que toute opération de copie ou toute autre opération
en attente dans explorer.exe est interrompue.
Les liens physiques sont une caractéristique commune à la plupart des systèmes basés sur Unix, mais ne sont pas directement disponibles
avec Windows. C'est une caractéristique qui doit être supportée par le système de fichier du système d'exploitation.
Alors que sont les liens physiques ? Il est pratique de penser qu'un fichier est une association entre un nom de fichier et un
objet de données
. En utilisant l'Explorateur de Windows, on peut naviguer dans le système de fichiers en affichant une relation 1:1 entre le
nom de fichier et l'objet de données, mais cette relation 1:1 n'est pas la même pour tous les systèmes de fichiers.
Quelques systèmes de fichiers, incluant UFS, XFS, et NTFS ont une relation N:1 entre le nom du fichier and the l'objet données,
et ainsi il peut y avoir plus d'une entrée de répertoire pour un seul fichier.
Alors, comment peut-on créer de multiples entrées pour le même objet de données ? Sous Unix il existe un utilitaire en ligne de commande ln, qui est utilisé pour
créer les entrées de liens vers des fichiers existants, donc on peut obtenir plusieurs noms de fichiers, appelés Liens Physiques, pour un seul objet de données.
Pour chaque lien physique créé, le système de fichiers incrémente un compteur de référence
stocké avec l'objet de données, c'est à dire qu'il conserve combien de noms de fichiers se réfèrent à l'objet de données, ce compteur
étant mis à jour (par le système de fichier) à l'intérieur même de l'objet de données. Quand on supprime un nom de fichier référençant un objet de données,
le compteur des objets de données est décrémenté de 1. Les objets de données eux-mêmes sont supprimés seulement quand le compteur de référence devient égal à 0.
Le compteur de référence est le seul moyen de déterminer s'il y a de multiples références de noms de fichiers pour un objet de données, et il
n'informe que de leur nombre PAS d'où ils sont.
Les jonctions
sont des raccourcis dans la structure arborescente d'un graphe orienté. En naviguant via une jonction, on rend directement accessible
un emplacement qui peut se trouver assez loin dans le système de fichiers. Les modifications, Créations, Renommages et Suppressions de fichiers à
l'intérieur d'une structure de jonction se font en réalité sur la cible de la jonction, par exemple si vous supprimez un fichier dans une Jonction, c'est le fichier à l'emplacement original qui est supprimé.
Les Liens Symboliques
sont aux fichiers ce que sont les Jonctions aux répertoires en ce sens qu'ils sont à la fois transparents et Symboliques. La Transparence signifie qu'une application peut les
accéder exactement comme elle le ferait pour tout autre fichier, et Symbolique signifie que l'objet de données peut se situer sur n'importe quel volume disponible,
c'est à dire qu'ils ne sont pas limités à un seul volume comme les liens physiques. Les Liens Symboliques diffèrent des raccourcis en ce qu'ils
permettent un accès transparent à l'objet de données, alors qu'avec un raccourci (.lnk), quelque chose doit lire et interpréter le contenu du
fichier de raccourci puis ouvrir le fichier qu'il référence (autrement dit c'est un processus en 2
étapes). Quand une application utilise un lien symbolique, elle accède directement à l'objet donnée référencé par
le lien symbolique (c'est donc un processus en une seule étape).
Plates-formes supportées : NT4/W2K/WXP/W2K3/W2K3R2/W2K8/W2K8R2/W2K12/W2K12R2/WXP64/Vista/Windows7/8/10 en 32bits, 64bits ou Itanium.
Les liens physiques (Hardlinks) ne sont que pour des volumes NTFS, et pour les plates-formes supportées.
Les liens physiques (Hardlinks) ne peuvent être obtenus qu'à l'intérieur de volumes NTFS et ne peuvent s'étendre au-travers d'autres volumes NTFS.
Les Jonctions ne peuvent pas être créées sur des volumes NTFS sous NT4.
Les choix Prendre comme cible du lien et <'">Coller .. ...
ne sont visibles que s'il est possible de créer des liens physiques/Jonctions/Symbolique. E.G.: Si vous
sélectionnez un fichier sur un lecteur FAT et appuyez sur le bouton d'action, vous ne verrez pas Prendre comme cible du lien dans le menu
d'action, car le système de fichier FAT, ne supporte pas les liens physiques/Jonctions/Symboliques. Ceci arrive également si
vous sélectionnez des fichiers sources sur un lecteur réseau, ou sélectionnez un fichier en tant que destination, etc.
Il existe une limitation de l'OS ne permettant pas plus de 1023 Liens physiques par fichier. C'est moins connu, mais c'est un fait.
Q : Sous Windows7/8/10, la boîte Enregistrer sous... affiche un lien symbolique avec un "raccourci" superposé
blanc, au lieu de l'icône de superposition verte.
R : Cela se produit si le processus affiché était encore ouvert pendant l'installation de Link Shell Extension.
Si vous êtes réellement dans cette situation rare, un simple reboot vous aidera.
Q : Toutefois la valeur du compteur de référence n'est pas mise à jour quand des liens physiques sont supprimés.
Par exemple, quand j'ajoute un lien physique la valeur augmente normalement, mais quand je supprime ce lien physique
la valeur ne change pas. Est-ce un bug? Ou y a t-il un moyen de rafraichir cela dans
l'Explorateur de Windows ?
R : Quand un fichier est supprimé dans l'explorateur, il est en fait déplacé vers la Corbeille, donc pas vraiment supprimé.
Si vous appuyez sur Maj-Suppr pour supprimer un fichier plutôt que seulement sur la touche Suppr,
alors le fichier est réellement supprimé et le compteur de référence est décrémenté.
Q : Je ne réussis pas à faire de liens physique vers des fichiers image ou de vecteur - en fait, j'ai pu
*construire* la copie par lien physique, mais quand j'ai modifié un des fichiers, cela n'a pas changé l'autre.
Je me demande si vous savez d'où cela pourrait provenir - pourrait-il en être autrement sur un ordinateur normal (!)
ou bien est lié au processus de création de lien physique ?
R : Vous avez été capable de créer le lien physique, mais quand vous avez ouvert le fichier lié
pour l'éditer, mais ensuite tout dépend de l'éditeur associé au fichier, s'il est
ouvert, changé, suppression de l'original, puis nouvelle création ( ==> lien brisé )
ouvert, changé, et sauvegarde en place ( ==> lien conservé )
Q : Quand j'ai supprimé un répertoire "source", son point de jonction dans la "destination"
a été laissé dans un état non opérationnel.
Y a t-il une façon de s'en prémunir ? Par exemple, est-il possible de supprimer
automatiquement les points de jonction si la source associée est supprimée ? Ou, est-il possible
d'avoir par la suite un programme capable de traiter a posteriori ces jonctions orphelines ?
R : Non désolé, les Jonctions sont une relation à sens unique, et si la cible disparaît
la jonction pointe vers une destination orpheline.
Q : Quand je supprime un lien symbolique, qui pointe vers un répertoire zippé
en pressant sur SUPPR, par la suite quand je veux vider la corbeille, l'explorateur refuse
en m'affichant un message d'erreur 0x80071128. Qu'est-ce qui ne va pas ?
R : Malheureusement c'est un bug de l'Explorateur, et il ne se produit que sur des liens symboliques
pointant vers des fichiers .zip. Pour contourner cela il faut le sortir à la main de la corbeille
le renommer, puis le supprimer de nouveau.
Q :J'ai créé un lien symbolique vers un .exe et quand je double clique
dessus, j'obtiens le message d'erreur suivant : Le chemin spécifié n'existe pas. Vérifiez le chemin et essayez de nouveau.
R: Malheureusement c'est un bug dans l'Explorateur, et je ne vois pas comment contourner cela dans l'Explorateur.
Si vous lancez le lien symbolique vers un .exe depuis une fenêtre en ligne de commande, ça marche bien, et même les explorateurs
tiers comme SpeedCommander peuvent le faire, mais l'Explorateur standard semble avoir
une limitation
Est-ce que quelqu'un connait un "registry hack" pour activer cela dans explorer.exe? Envoyer le moi.
Q: Je double clique sur un lien symbolique dans l'explorateur, qui par exemple pointe vers un .xls, et l'explorateur me demande de
choisir un programme pour l'ouvrir.
A: Avec KB3039066 Microsoft a changé le comportement des liens symboliques. Désinstallez-le et ça devrait fonctionner de nouveau. Voir aussi
Symbolic Link Type Changed
R : Le nombre d'icônes de superposition différentes que le système supporte est limité
par l'espace par la place disponible pour les icônes de superposition dans la liste système image.
Il y a actuellement 11 slots affectés sous Windows 10 pour les icônes de superposition, dont certains
sont réservés pour le système.
Tout est contrôlé par l'ordre alphabétique des OverlayHandlers dans
Si l'OverlayHandlers pour LinkShellExtension se voit affecter un slot supérieur à 15 sous Windows 32bit ou
supérieur à 11 sous Windows 10, alors l'icône de superposition de LSE ne sera pas vue.
Pour booster manuellement la priorité des icônes de superposition de LSE ouvrez la clé de registre ci-dessus par regedit ajoutez un espace devant
IconOverlayHardLink --> ' 'IconOverlayHardLink
IconOverlayJunction --> ' 'IconOverlayJunction
IconOverlaySymbolicLink --> ' 'IconOverlaySymbolicLink
puis soit redémarrez l'explorateur ou déconnectez-vous et reconnectez-vous. Le truc ici est de changer l'ordre alphabétique
en le commençant par un espace.Vous risquez de vous retrouver dans une course au sommet en ajoutant de plus en plus d'espaces, car d'autres
OverlayHandlers tels que les "DropBox"
ont déjà ajouté quelques espaces.
Q : Je suis en train d'essayer d'enregistrer des fichiers d'une Dropbox sur un support amovible plutôt que
sur le disque interne de 128gb. Ma DropBox contient déjà de très nombreux fichiers. Comment puis accomplir la redirection
du répertoire de la dropbox vers le stockage amovible ?
R :
Copiez le répertoire entier de la dropbox depuis l'espace interne de c:\users\[username]\dropbox
vers par exemple x:\data\dropbox
Renommez le répertoire dropbox c:\users\[username]\dropbox en par exemple c:\users\[username]\dropbox_org
Prendre comme source du lien x:\data\dropbox
Dans c:\users\[username] utilisez Coller ... et sélectionnez un lien symbolique ou une Jonction
Si tout s'est bien passé alors supprimez c:\users\[username]\dropbox_org
Q : Quand je crée des liens Symboliques ils apparaissent dans l'Explorateur avec une taille de 0 octets. Je ne me rappelle pas si
c'est voulu ou non ?
R : Le résultat d'un lien Symbolique est affiché comme ayant une longueur 0 octets dans l'Explorateur, c'est bien ce qui est souhaité.
Q : Je n'ai changé que les attributs d'un fichier, et même sa datation et son contenu n'ont pas changé, pourtant --delorean copie le
fichier au lieu d'en faire un lien vers l'ancien ensemble de sauvegarde et seulement changer les attributs dans l'ensemble de sauvegarde courant.
R : Les fichiers des ensembles de sauvegarde d'un --delorean sont liés physiquement s'ils sont identiques. NTFS fourni un seul ensemble d'horodatage et
d'attributs pour toutes les cibles de liens physiques d'un fichier, donc si un fichier a besoin d'attributs différents dans un ensemble de sauvegarde, il doit être copié.
Q : Les Jonctions incorrectes (sans cible existante) ont bien une icône d'affichée, mais quand on clique dessus depuis l'Explorateur Windows sous
Windows7 x64 SP1 et qu'on choisit "Propriétés", l'onglet "Lien" des propriétés du lien ne s'affiche pas.
Par conséquent, l'information où le lien incorrect tente de pointer n'est pas accessible et donc ne peut pas être corrigée manuellement.
R : Malheureusement c'est un problème de l'explorateur, et LSE n'a aucune chance de l'intercepter.
Les Liens symboliques/jonctions corrompus peuvent être facilement réparés à l'aide la fonctionnalité de remplacement d'une jonction/lien symbolique
Q: Quand je fais un clic droit sur un lien symbolique, que je vais dans les propriétés, puis clique sur les Propriétés du Lien, si le chemin qui y est indiqué est non valide,
j'obtiendrai un message "Le nom '(le mauvais chemin est affiché ici)' indiqué dans la boîte cible est invalide. Assurez-vous que le chemin et le nom du fichier sont corrects.
A: Malheureusement c'est un problème de l'explorateur, et LSE n'a aucune chance de l'intercepter.
Les Liens symboliques/jonctions corrompus peuvent être facilement réparés à l'aide la fonctionnalité de remplacement d'une jonction/lien symbolique
Pour des utilisateurs non administrateurs sous Windows 10, l'explorateur ne se relançait pas après une installation
Lors d'un changement d'icône personnalisée, on demandait de clore plusieurs applications dépendantes, ce qui n'est pas utile. Relancer l'explorateur est suffisant.
Un certain nombre de chaînes de caractères étaient erronées. Introduit par 3.9.2.8
'Supprimer la jonction' enlevé du menu principal.
Amélioration de la gestion des menus, comme par exemple, on ne peut pas créer de Copies Intelligentes de fichiers liés par liens Symboliques.
Adaptation des vérifications aux redistribuables de VS2017 et Windows 10.
Sur un système de fichiers non NTFS, on ne pouvait pas sélectionner un Lien Source. Introduit avec 3921
Le démontage de volume ne fonctionnait pas, quand une élévation de privilèges était nécessaire.
Nouvelles captures d'écrans Windows 10 pour la documentation et celle en ligne.
Signature du code par un certificat
Lors du Remplacement de Jonction/Lien Symbolique/Point de Montage les attributs originaux étaient perdus
L'onglet Propriétés du lien affichait des liens symboliques relatif comme des liens absolus
L'onglet Propriétés n'affichait pas les jonctions orphelines
Création de liens symboliques sur des fichiers qui ne fonctionnaient pas dans des répertoires protégés comme 'Program Files' via le Mode Développeur sur "on".
Le remplacement de Jonctions/Liens Symboliques ne fonctionnait pas sur des Jonctions/Liens Symboliques orphelins.
UAChelper mélange de création de liens relatifs et absolus link creation. Introduit avec 3920
Ajout de la traduction en Ukrainien, Fin de traduction de certains éléments manquants
La création de liens inter-lecteurs ne marchait plus. Introduit par 3921
Le dialogue des Propriétés pouvait provoquer un crash en changeant de cible sur une jonction
Le Renommage automatique avait un défaut lorsqu'il y avait plus de 9 fichiers de même nom dans un répertoire
Le mode Sauvegarde était corrompu. Introduit par 3921
Changement pour les utilisateurs non-admin car les liens symboliques relatifs/absolus étaient sans effet. Correction d'une mauvaise conception. Quelle pagaille
LSE est maintenant sur gitlab.com. Pour l'instant seulement en mode privé, mais j'espère changer cela bientôt.
SmartMirror dans LSE avait un problème avec les points de montage imbriqués
Le mécanisme de remplacement des liens symboliques était corrompu en cas d'élévation de privilèges. Causé par 3.8.7.2
Amélioration de l'estimation de la barre de progrès
Correction d'un crash dans LSEConfig lorsqu'il remplaçait des textes au démarrage.
Suppression de la vérification de vcredist-vs2005 de l'installeur.
[Interne] mais changement important entre VS2005 (sic) et VS2017. Fondamentalement, tout a été compilé correctement, à l'exception de la pile, donc......
[Interne] Suppression de la pile rapide "Rockall". C'était nécessaire, mais a permis un gros gain de performances. L'allocation mémoire est 2 fois plus rapide,
et la libération de mémoire 10 fois plus rapide. L'allocation de mémoire est cruciale au coeur de ln.exe et LSE.
[Interne] Configuration Itanium abandonnée, car VS2017 ne la supporte plus, et je suis certain qu'il n'y a plus trop de hardware Itanium dans la nature.
Les liens symboliques relatifs sur des liens symboliques absolus pointant vers un disque différent, n'étaient pas correctement créés.
Ajout de la langue Grecque. Merci à George Malamas !
Le déplacement intelligent (SmartMove) ne fonctionnait pas quand le mode sauvegarde (Backup) était activé.
Fonctionne de nouveau sous Windows 2000 (Problème introduit en 3.8.6.6).
Le contrôle de Vcredist est de retour par défaut, mais peut être évité en entrant le commutateur /noredist en ligne de commande pendant l'installation.
Les liens symboliques relatifs sur des chemins UNC étaient recréés avec une mauvaise cible lors d'une copie intelligente.
La fragmentation du système de fichier NTFS a diminué et donc la copie devrait être plus rapide.
Abandonner fonctionne quand on presse dessus lors de la copie de (gros) fichiers.
La création de liens physiques sur les répertoires protégés par UAC provoquait un message d'erreur, même si le lien physique était créé.
Les fichiers qui avaient une taille multiple de 16777216 étaient correctement copiés, mais une erreur était générée dans le fichier journal, même s'il n'y en avait aucune.
La barre de progression ne s'incrémentait pas correctement lors d'une Copie Intelligente si les fichiers étaient identiques.
Dans de rares situations le premier lien symbolique seulement d'une copie intelligente était lié de façon incorrecte.
La fonction de Renommage Automatique ne travaillait pas correctement dans quelques rares situations. Corrigé pour XP et Windows 7/8/10
Adaptations pour Windows 10 Tech Preview 9841/9926.
Correction d'un plantage, quand des fichiers étaient glissés depuis Bandzip vers le bureau.
Ajout d'une traduction pour le Coréen. Merci à Mireado de Corée !
Correction d'un plantage dans W10 lors de la fermeture du dialogue de propriétés sur les jonctions/liens symboliques.
Sur les systèmes Windows10 qui ont été mis à jour à partir de Windows7 l'énumération des liens physiques via la fenêtre des propriétés prend beaucoup de temps.
Prérequis d'installation non nécessaires sous Windows 10, donc ne pas vérifier ces prérequis sous Windows 10.
Prérequis toujours testés par l'installateur sous Windows10.
LSE produisait des fichiers de journaux avec LF mais pas CR/LF.
Les Listes de Contrôle d'Accès (ACLs) des jonctions/Liens Symboliques/Points de montage sont préservées lorsqu'on change de cible soit via
les fonctions de Remplacement ou une Édition depuis la boîte de dialogue des Propriétés.
Traduction en Japonais de LSEConfig.
La cible des points de montage peut être modifiée depuis le Lien des Propriétés.
LSE peut maintenant traiter les Points de Montage lors des opérations de XXX Intelligentes ou Delorean
WindowsXP: Les liens Symboliques inter-disques ne fonctionnaient pas.
WindowsXP: Les liens Symboliques vers des Volume GUIDs ne fonctionnaient pas.
When working on mapped network drives via SMB or CFIS, as many NAS boxes do, LSE uses a more traditional enumeration mode and this will copy files ( which it did not in any case ).
Multiple locations can be selected and the location are treated as a common root with respect to hardlinks/junctions/symbolic links.
Nested junctions and symbolic links ( aka junctions on junction on junctions ... ) are now properly restored in any situation.
Smartmove had problems with relative symbolic links in rare situations.
The Properties dialog of an item offers an 'Explore Target'
button for Junctions, Mountpoints and Symbolic Links.
Added localization for Japanese. Thanks to Taka from Japan!
Under Windows7 auto rename behaves in the same way as Windows7/8/10 does for '- Copy'.
September 28th 2009
Version 3.1.6.0
With W2K the junction creation was broken.
Fixed a handle leak caused by enumerating hardlink siblings under non Vista/W2K8
Under Vista & W7 one can create junctions everywhere without elevation, but not in
e.g c:\Program Files. LSE is now aware of this and asks elevation for junction creation
when necessary.
With drives mapped via a Remote Dektop session, the whole explorer & remote desktop session hang, when
this drives was expanded in explorer, but only under W2K3 as terminal server.
Support for Windows7
Hardlink Sibling Enumeration now also works for XP, W2K NT4, but due
to OS contraints not that fast as with Windows7.
Under W2K it turned out, that CreateHardlink() from kernel32.dll with long pathnames (e.g. \\?\) was
broken.
Fixed a memory leak in serving as COM server.
October 4th 2008
Version 3.0.0.1
There is a new Smart Copy feature, which enables LSE
to copy whole folder structures and preserve the inner hardlink and junction structure.
Junctions can now be created targeting also Junctions.
June 21st 2008
Version 2.9.5.3
Hardlinks can be enumerated under Vista & Windows7.
Fixed a handle leak for HKCU\Software\LinkShellExtension.
Removeable media support didn't work, when remote capabilities were switched off.
May 1st 2008
Version 2.9.0.3
Already existing Junctions can be replaced by dragging a directory over it
Naming has been streamlined more towards 'Link Shell Extension'
If the maximum number 1023 of hardlinks for a file is exceeded, an error message is displayed. This applies
for hardlinks and hardlink clones.
The Vista & Windows7 junction overlay icon in 256x256 is in proper size.
Custom icons can be specified for Junction and Hardlink overlays
Version for Itanium available
Pick/Drop does not interfere with the creation of Hardlinks, Junctions or Symbolic Links via Drag and Drop.
It is now possible to pick a link, then drag another file via right mouse click to some location, drop it there
and afterwards drop the first, picked file
The property dialog of a Volume Mountpoint now displays the logical drive letter of the mounted drive
instead of the odd volume name.
Ongoing work towards localisation to East Asian languages.
Symbolic Links now can be created even if the filename contains UTF-16(Asian)characters.
LSE now also works for non Administrators under Vista & Windows7 (after they acknowledged the elevation dialog with the admin password for sure).
Symbolic Links for files or directories can now be created across volumes.
LSE now can also create Hardlinks from Shortcuts, which didn't work for ages.
The print name (the name some can see to the right of a junction, after issuing 'dir' in a command prompt) for Junctions under Vista & Windows7 is now correct.
Lots of usability fixes
During Installation under Vista64 Explorer automatically gets restarted.
The setup contains a check if the VS2005 SP1 Redistributable Package is installed.
The setup contains a check if the LSE version for the proper platform is going to be installed.
Vista & Windows7 compliant overlay icons for Hardlinks.
January 20th 2008
Version 2.8.0.6
Hardlinks show up with a small overlay icon. This icon will change for Vista compliancy, but at least it is here now.
Junctions have a Vista compliant overlay icon in many resolutions
Support of creation and deletion of
Volume Mountpoints. Unfortunately this does not work under Vista
LSE now prevents the creation of 'loops', when setting up a junction or hardlink clone
Hardlink 'cross drive drops' are now not possible anymore
Some bug fixes for NT4
Lots of usability fixes
October 16th 2007
Version 2.7.1.0
First fixes for the x64 world. Maybe more to come. Fixing x64 is top
priority since I have Q6600 myself now...
March 25th 2007
Version 2.7.0.1
Fixed a nasty bug, which caused HardlinkShellExt to slow down
explorer, when it was started. Also fixed the problem that it accessed
drive A:, when an explorer started.
PropertySheet on file and directory properties will show various info
with W2K/XP
Delete Junction is back, because sometimes, especially when deleting
junctions, which point to directories with big amount of data, the Copyhook Handler
does not act as expected. Until this phenomenon is solved, Delete Junction is back.
January 12th 2007
Version 2.6.0
Link Shell Extension is now robust with respect to
deleting junctions. Delete commands issued from explorer unlink
junctions, but do not delete its content.
Due to Junction-awareness of explorer the Delete Junction is gone from the
context menu
Support for Windows Vista & Windows7. Link Shell Extension is now capable of creating
Symbolic Links, but also has a few restrictions related to the Reference column
December 27th 2006
Version 2.5.1 released
Added localisation for Italian and Spanish to commands and messages. Thanks to
Nicola Guidotto and Diego Segobia for the translations.
December 6th 2006
Version 2.4.0
released
Added localisation for French and German to commands and messages
November 26th 2006
Version 2.3.0 released
Minor fixes in the installer/deinstaller
Introduced the hydraulics of multiple auto rename. If you drop links/junctions
in the same directory, now it behaves exactly as explorer and puts numbers
on the multiple instantiations of a file.
June 16th 2006
Version 2.2.2 released
BugFix. Link Shell Extension is now also able to create hardlinks
via Drag and Drop in root dirs of a drive.
Added
overlay icons for junctions, so that junction
visually pop into your eye.
February 27th 2006
Version 2.0 released
Revamped the
internal structure of ShellExt.
Introduced creation of Hardlink Clones.
Introduced submenu in the context menu, when
more than one entries would be added to context
menu to show the many dropping choices
Support for SymbolicLinks with 'Vista'.
Support for SymbolicLink Clones with
'Vista'.
Fixed crashes when dragging files, and using
'HardLink here'.
Fixed problem when showing up wrong menu, when
having folders disabled in the left explorer
pane.
Junctions display their origin in the reference
column.
A Pick Link operation can be cancelled
now.
The installer restarts explorer.exe to properly
add/remove the shell extension
Added an entry to Start Menu/Programs
Support for WindowsXP64.
November 26th 2005
Version 1.7 released
Added
the Delete Junction context menu,
when right mouse button is pressed on a
junction.
Fixed a handle leak in CreateJunction.
January 23rd 2002
Version 1.6 released
Added a
Columnhandler, so that the reference count of a
hardlinked file is shown in explorer. This feature
only works with W2K/WXP.
Deployment revamped so that the doc is now in
.html.
October 27th 2001
Version 1.5 released
Revamped
internal string handling to
Unicode.
Added junction support. Junctions are a feature
of NTFS5, which allows to hardlink two
directories.
Added a directory background handler. This
means, that after picking a hardlink it is possible
to press the right mouse button on the right
explorer pane and drop the
hardlinks/junctions/symbolic-links.
March 23rd 2001
Version 1.201 released
Fixed occurrence of 'Hardlink Here' if shortcuts are selected.
March 23rd 2001
Version 1.20 released
Added Drag and drop support
March 20th 2001
Version 1.10 released
Fixed the problem, that the help text was not displayed properly
Changed the installer to the lean and mean nullsoft installer.
Fixed the problem, that read-only files can not be hardlinked
Fixed the problem, that hardlinks in the root dir didn't work
Tested on W2K and HardlinkShellExt is W2K compliant
Sous Vista & Windows7 la gestion des colonnes dans l'explorateur, fournissant
le compteur de référence, ne fonctionne plus, depuis que Microsoft a supprimé
l'interface correspondant à cette fonctionnalité.
License
Ce programme est fourni en l'état. Voir license.txt dans cette distribution pour les problèmes légaux.
Link Shellextension utilise tre comme moteur d'expression régulière. Voir la licence tre.
Rapports de bug, ou demande de nouvelles fonctions sont à envoyer à
Hermann Schinagl..
LSE est et restera un freeware, mais si LSE vous est réellement
utile et vous sauve beaucoup de temps, alors pensez
à une donation notamment par PayPal
ou une donation sur flattr
ou en envoyant un don certifié depuis
.
ou en donnant des bitcoins :
bc1q4hvevwrmnwt7jg8vws0v8xajywhffl4gwca5av
Link Shellextension a aussi une page sur
Facebook
, où vous pouvez trouver les annonces de nouvelles versions,
et vous pouvez y discuter de demandes de fonctions futures
.
Link Shellextension diffuse ses notes de versions via
RSS
.
Cette version contient la version 64bit de Link Shell Extension, mais contient
aussi la version 32bit, qui est installée en parallèle de la version 64bit, de façon à satisfaire certains gestionnaires
de fichiers/explorateurs tiers comme total commander :
Toutes les dlls nécessaires à l'exécution dont déjà installées sur votre système, mais si ce n'est pas le cas, récupérez-les
ici en 64 bits
et ici en 32 bits
La version Itanium n'est plus supportée, mais la dernière version 3.8.7.2 construite par VS2005 est conservée par commodité.
SVP, assurez-vous que les dlls runtime sont bien installées sur votre
système. Ce package prérequis peut être téléchargé chez Microsoft:
La version pour Windows NT4 ne sera plus développée,
et ses fonctionnalités sont figées à celles de la version
Link Shell Extension 3.2.0.0 (1.13Mb), qui, de base, a toutes les
fonctions importantes.
Un driver pour activer même sous WindowsXP la fonctionnalité de lien symbolique
est mis à disposition par Masatoshi Kimura. Vous pouvez télécharger le
driver depuis sa page web ou depuis mon site agissant comme miroir.