locked
Migration de parc windows XP vers 7 : problème de nom de dossier utilisateur RRS feed

  • Question

  • Bonjour,

    Je suis en train de préparer la migration d'un parc XP vers Seven avec MDT.

    Afin notamment de gagner du temps dans la phase de migration, j'ai supprimé dans USMT la sauvegarde du "Mes Documents" de l'utilisateur, ce dossier étant déjà sauvegardé car mappé sur un partage réseau.

    Le problème que je rencontre est le suivant :

    Lors de l'ouverture de session sous Windows 7, ce dernier crée des dossiers qui existent déjà, à savoir : Ma musique, Mes images, mes videos.

    En regardant de plus près, il s'agit d'alias pointant vers des dossiers en anglais : my music, my pictures, my videos.

    Et cela me pose donc un souci avec notre outil de synchro de fichier (poste local <=>réseau), outil non microsoft.

    Ma question :

    Peut-on empêcher la création de ces dossiers My xxxx et indiquer à Windows 7 d'utiliser les anciens dossiers exitants.

    Plus généralement : peut-on gérer manuellement ces alias que crée windows automatiquement, (il y a aussi par exemple "Mes Documents" qui correspond à "Documents" sous seven).

     

    Merci par avance !

     

    lundi 17 octobre 2011 15:27

Réponses

  • Le mardi 18/10/2011 16:59:30, Romain49 a écrit dans le message <news:cb0deae0-9784-4ffd-b136-ff077144e135@communitybridge.codeplex.com> ce qui suit :

    Je craque : en fait le problème semble intrinsèque à Windows 7 :

    Avant sous XP l'arborescence était la suivante : c:\documents and settings\%username%\Mes Documents ==> dossier contenant "Mes images", Ma musique", etc.

    Sous Seven, c'est ainsi : c:\users\%username%\ ==> où "documents", "musique", "images" sont au même niveau.

     

    Mon problème est qu'il est quand-même *impossible de créer un dossier intitulé "Ma musique" ou "Mes images" dans le dossier "Documents"*. Il me dit qu'un dossier existe déjà, il me propose de le fusionner alors qu'il n'existe pas ! un comble !

    Si! il existe bien, mais sous la forme d'une JONCTION!

    Pour t'en assurer, tu n'as qu'à exécuter la commande suivante :
      dir %USERPROFILE%\documents /A:L

    le résultat aura cette forme :
      Répertoire de C:\Users\BELLAMY\documents

    27/06/2011  20:06    <JONCTION>     Ma musique [C:\Users\BELLAMY\Music]
    27/06/2011  20:06    <JONCTION>     Mes images [C:\Users\BELLAMY\Pictures]
    27/06/2011  20:06    <JONCTION>     Mes vidéos [C:\Users\BELLAMY\Videos]

    P.ex. on voit que le dossier "%USERPROFILE%\Documents" contient une jonction "Ma musique" qui pointe en réalité vers  %USERPROFILE%\Music.

    Ce dossier apparait dans l'explorateur sous le nom de "Ma musique" en raison de la présence d'un fichier DESKTOP.INI qui contient (entre autres) cette ligne :
       LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21790

    (la ressource de type STRINGTABLE et d'identifiant 21790 dans le fichier %systemroot%\systeù32\fr-FR\shell32.dll.mui contient la chaine "Ma musique")
     > Du coup je ne peux pas synchroniser l'ancien "Mes documents" de

    l'utilisateur, resté sur le réseau, dans le dossier "Documents" de Windows 7.

    Le problème est que la jonction "Ma musique" (idem pour les 2 autres) a une LCA (liste de contrôle d'accès) dans laquelle "Tout le monde" se voit gratifié d'un "Refuser" pour l'autorisation "Liste du dossier/lecture des données"

    Et bien que le compte concerné ait dessus le contrôle total, comme un refus prévaut toujours sur une autorisation, l'accès à cette jonction est systématiquement refusé!
     Si tu veux pouvoir accéder à ces jonctions, afin de pouvoir copier dans les sous-dossiers Music, Pictures, Videos, il te faut modifier la LCA de chaque jonction en retirant ce "refus à tout le monde".

    http://www.cijoint.fr/cj201110/cijGjT2hnD.jpg

    NB: Comme le propriétaire de cette jonction est par défaut le compte SYSTEM, il te faudra au préalable le remplacer par ton compte (ou celui d'un admin) pour pouvoir modifier la LCA.
     --
    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    • Proposé comme réponse Aski. _MVP mardi 18 octobre 2011 18:20
    • Marqué comme réponse Florin Ciuca lundi 24 octobre 2011 07:01
    mardi 18 octobre 2011 17:52
  • Le mardi 18/10/2011 23:00:45, Alain Quarré a écrit dans le message <news:43747f58-4bef-4d34-bfe7-2417a4412d49@communitybridge.codeplex.com> ce qui suit :

    Petite précision sur les jonctions.
    Si "Tout le monde" se voit gratifié d'un "Refuser" pour l'autorisation "Liste du dossier/lecture des données", c'est qu'il y a une raison

    Les jonctions sont là pour assurer la rétrocompatibilité de Vista/Seven/2008 (toutes les versions 6.x en somme) avec d'anciens soft qui voudrais écrire dans un dossier qui existait sous Xp et antérieur.

    Et ceux qui voudraient LIRE, cela existe, n'est-il pas ?

    Cette compatibilité ascendante est FOIREUSE, la preuve!
    MS aurait mieux fait de ne pas la mettre en place.
     > Pour cela, si les jonctions sont bien interdites en lecture, elle sont

    autorisées en écriture.
    Alors pourquoi ne sont-elle pas tout simplement accessible en lecture/écriture ??? cela semble bien plus simple, non?

    l'interdiction d’accès en lecture est là pour éviter :

    * les copies cyclique, ce qui serait toujours le cas si les jonctions récursives étaient disponible en lecture. (une jonction récursive est une jonction qui pointe sur un de ses dossier parent)

    Cette récursivité est une ABERRATION !
    cf. %LOCALAPPDATA%\Application Data qui pointe vers %LOCALAPPDATA% !
     * Les copies redondantes

    (si tu copies %userprofile%\documents   et la jonction*%userprofile%\mes documents*   si elle est accessible en lecture, tu te retrouverais avec deux copies strictement identiques de ton dossier Documents)

    Là aussi une autre absurdité !
    Le système de renommage (apparent) à l'aide d'un fichier DESKTOP.INI (avec une ligne "LocalizedResourceName=...") utilisé dans XP et Vista , fonctionnait très bien (nom réel "Documents", nom apparent dans explorer "Mes documents")
    Quel est donc l'esprit tordu chez MS qui a décidé de remplacer ça par une jonction ?

    Il y a vraiment une palanquée de SHADOKS à Redmond :
     "Pourquoi faire simple quand on peut faire compliqué?"

    PS: je ne suis pas hostile aux JONCTIONS, apparues avec NTFS 3.0 et Windows 2000, et qui peuvent rendre de grands services (p.ex. sous XP je m'en sers pour déplacer sur une autre partiton le dossier $hf_mig$).

    Ce que je conteste ici est leur utilisation pour pallier les effets de biais dus à des changements d'architecture mal étudiés ...



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    mardi 18 octobre 2011 23:04
  • J'avais vu finalement hier soir qu'il s'agissait de jonctions mais pas eu le temps d'updater le post.

    Je comprends mal le bricolage de Microsoft, car même pour assurer une compatibilité certains anciens softs ont besoin de lire ces dossiers... bref.

    Le problème vient en effet de mon soft de synchro qui, bien que compatible seven, cherche à ouvrir les jonctions "Mes images", "ma musique", etc.. pour lire le contenu et le comparer avec le dossier sur le réseau. C'est là qu'il se fait jeter.

    Il faut que je mette une exception dans l'analyse de ces dossiers... que c'est amusant !

     

    En tout cas merci pour ce débat instructif ! 


    • Modifié Romain49 mercredi 19 octobre 2011 07:05
    • Marqué comme réponse Florin Ciuca lundi 24 octobre 2011 07:02
    mercredi 19 octobre 2011 07:04

Toutes les réponses

  • Bonjour,

    Ce sont juste des alias comme tu vois.

    Tu peux le voir dans les emplacements:

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

    De facon automatique tu ne peux pas modifier ce réglage car Windows a été concu ainsi. Bien que tout est possible ce n'est pas non plus quelque chose que je te recommande.

    Il vaut mieux adapter ton logiciel de synchronisation et autres que de modifier Windows. Car tu peux rencontrer des problemes d'installation logiciels lorsqu'on touche à ces variables.

    J'ai déja eu l'occasion de faire des tests ainsi et je m'etais retrouvé avec des doublons de dossier dans le profil utilisateur. J'avais du utiliser un script .cmd pour faire le menage.


    Revue du Geek | Déployer Windows 7 avec MDT 2010
    lundi 17 octobre 2011 16:56
  • Pour résoudre ce problème tu peux soit changer ta redirection
    à la place de D:\Mes documents\%username%
    tu mets: D:\Mes documents\%username%\Documents
    Soit tu utilises ce script ==> topic4073.html

    PS: il est inutile de modifier la clé HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
    Modifie seulement la clé HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
    (la clé Shell Folders est une resultante de User Shell Folders)

    If you found this post helpful, please "Vote as Helpful". If it answered your question, remember to "Mark as Answer". - Gokan Ozcifci - SharePoint Infrastructure Consultant
    lundi 17 octobre 2011 20:06
  • Il est tout a fait possible et (presque) très simple de définir à l'avance quel seront les dossiers créés par Windows.

     

    Néanmoins, avec la méthode que je vais te donner ici, tu es tenu d'effectuer des tests avant toute mise en production.

    Il est en effet possible que l'emploi des noms de dossier localisé pose des problèmes.

    Pour comprendre comment cela fonctionne, quand un utilisateur se connecte pour la première fois, le dossiers "C:\users\Default" est pris comme modèle.
    Dans ce dossier, on peut trouver le fichier NTUSER.DAT
    Ce NTUSER.DAT contient la partie du registre qui servira de modèle à l'utilisateur.
    C'est dans ce fichier que l'on va faire des modifs.

    Tout d'abord, il faut charger ce ntuser.dat dans le registre.

    télécharge ce petit script qui se charge de le faire

    Lance ce script en administrateur.

    va dans HKEY_LOCAL_MACHINE\.LoadDefUser\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

    Modifie les valeurs te concernant

    Comme par exemple, modifie la valeur My Music par %USERPROFILE%\Ma Musique au lieu de %USERPROFILE%\Music

    Cela fait, ferme le registre (ntuser.dat est déchargé du registre)

    créé un nouvelle utilisateur

    log toi sur celui ci.

    vérifie ses dossiers

     

    Multiplie les tests pour être sûr qu'il n'y a pas de problème sous-jacent à ce type de modification.

    Pour info, lis ces deux post:

    http://forum.generation-nt.com/windows-xp/deplacer-dossiers-documents-defaut-186681/

    Déplacer Mes Documents par défaut et par script

     

    Merci à Gokhan Ozcifci d'avoir simplement copier coller le contenu d'un autre post sans rien modifier le rendant incompréhensible car sorti de son contexte. Voir post d'origine: http://www.forum-seven.com/forum/topic9096.html

     

    ++

    Alain

     


    lundi 17 octobre 2011 22:04
  • Les doublons c'est justement le problème que j'ai durant mes présents tests, je pensais qu'on pourrait les éviter en utilisant les alias. Je vais tester toutes les solutions proposées ici. Merci.

     

    si d'autres idées vous viennent n'hésitez pas, je peux massacrer mon profil autant que je veux :-)

    mardi 18 octobre 2011 07:17
  • Je craque : en fait le problème semble intrinsèque à Windows 7 :

    Avant sous XP l'arborescence était la suivante : c:\documents and settings\%username%\Mes Documents ==> dossier contenant "Mes images", Ma musique", etc.

    Sous Seven, c'est ainsi : c:\users\%username%\ ==> où "documents", "musique", "images" sont au même niveau.

     

    Mon problème est qu'il est quand-même impossible de créer un dossier intitulé "Ma musique" ou "Mes images" dans le dossier "Documents". Il me dit qu'un dossier existe déjà, il me propose de le fusionner alors qu'il n'existe pas ! un comble !

    Du coup je ne peux pas synchroniser l'ancien "Mes documents" de l'utilisateur, resté sur le réseau, dans le dossier "Documents" de Windows 7.

     

    Quelle galère !

    mardi 18 octobre 2011 14:59
  • Le mardi 18/10/2011 16:59:30, Romain49 a écrit dans le message <news:cb0deae0-9784-4ffd-b136-ff077144e135@communitybridge.codeplex.com> ce qui suit :

    Je craque : en fait le problème semble intrinsèque à Windows 7 :

    Avant sous XP l'arborescence était la suivante : c:\documents and settings\%username%\Mes Documents ==> dossier contenant "Mes images", Ma musique", etc.

    Sous Seven, c'est ainsi : c:\users\%username%\ ==> où "documents", "musique", "images" sont au même niveau.

     

    Mon problème est qu'il est quand-même *impossible de créer un dossier intitulé "Ma musique" ou "Mes images" dans le dossier "Documents"*. Il me dit qu'un dossier existe déjà, il me propose de le fusionner alors qu'il n'existe pas ! un comble !

    Si! il existe bien, mais sous la forme d'une JONCTION!

    Pour t'en assurer, tu n'as qu'à exécuter la commande suivante :
      dir %USERPROFILE%\documents /A:L

    le résultat aura cette forme :
      Répertoire de C:\Users\BELLAMY\documents

    27/06/2011  20:06    <JONCTION>     Ma musique [C:\Users\BELLAMY\Music]
    27/06/2011  20:06    <JONCTION>     Mes images [C:\Users\BELLAMY\Pictures]
    27/06/2011  20:06    <JONCTION>     Mes vidéos [C:\Users\BELLAMY\Videos]

    P.ex. on voit que le dossier "%USERPROFILE%\Documents" contient une jonction "Ma musique" qui pointe en réalité vers  %USERPROFILE%\Music.

    Ce dossier apparait dans l'explorateur sous le nom de "Ma musique" en raison de la présence d'un fichier DESKTOP.INI qui contient (entre autres) cette ligne :
       LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21790

    (la ressource de type STRINGTABLE et d'identifiant 21790 dans le fichier %systemroot%\systeù32\fr-FR\shell32.dll.mui contient la chaine "Ma musique")
     > Du coup je ne peux pas synchroniser l'ancien "Mes documents" de

    l'utilisateur, resté sur le réseau, dans le dossier "Documents" de Windows 7.

    Le problème est que la jonction "Ma musique" (idem pour les 2 autres) a une LCA (liste de contrôle d'accès) dans laquelle "Tout le monde" se voit gratifié d'un "Refuser" pour l'autorisation "Liste du dossier/lecture des données"

    Et bien que le compte concerné ait dessus le contrôle total, comme un refus prévaut toujours sur une autorisation, l'accès à cette jonction est systématiquement refusé!
     Si tu veux pouvoir accéder à ces jonctions, afin de pouvoir copier dans les sous-dossiers Music, Pictures, Videos, il te faut modifier la LCA de chaque jonction en retirant ce "refus à tout le monde".

    http://www.cijoint.fr/cj201110/cijGjT2hnD.jpg

    NB: Comme le propriétaire de cette jonction est par défaut le compte SYSTEM, il te faudra au préalable le remplacer par ton compte (ou celui d'un admin) pour pouvoir modifier la LCA.
     --
    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    • Proposé comme réponse Aski. _MVP mardi 18 octobre 2011 18:20
    • Marqué comme réponse Florin Ciuca lundi 24 octobre 2011 07:01
    mardi 18 octobre 2011 17:52
  • Petite précision sur les jonctions.

     

    Si "Tout le monde" se voit gratifié d'un "Refuser" pour l'autorisation "Liste du dossier/lecture des données", c'est qu'il y a une raison

    Les jonctions sont là pour assurer la rétrocompatibilité de Vista/Seven/2008 (toutes les versions 6.x en somme) avec d'anciens soft qui voudrais écrire dans un dossier qui existait sous Xp et antérieur.

    Pour cela, si les jonctions sont bien interdites en lecture, elle sont autorisées en écriture.

    Alors pourquoi ne sont-elle pas tout simplement accessible en lecture/écriture ??? cela semble bien plus simple, non?

    l'interdiction d’accès en lecture est là pour éviter :

    • les copies cyclique, ce qui serait toujours le cas si les jonctions récursives étaient disponible en lecture. (une jonction récursive est une jonction qui pointe sur un de ses dossier parent)
    • Les copies redondantes (si tu copies %userprofile%\documents et la jonction %userprofile%\mes documents si elle est accessible en lecture, tu te retrouverais avec deux copies strictement identiques de ton dossier Documents)

    je te déconseille dés lors de modifier les droits sur les jonctions. (aucune modification de droit n'est nécessaire pour les supprimer.)

    voir ce post et surtout celui-ci qui démontre pourquoi ne pas s'octroyer les accès à une jonction. (accessoirement celui-ci aussi)

    ces précisions étant faites, pour ton problème, tu peux supprimer la jonction Mes Documents dans %userprofile% et déplacer tes docs vers %userprofile%\Mes Documents.

    et aussi supprimer les jonctions présentes dans ton dossiers documents pour les remplacer par leurs dossiers respectifs (Mes Image, Ma Musique, ...)

    Vérifie que tes déplacement de dossiers sont bien répercutés dans le regsitre à
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

    En supplément, il serait bien de recréer une jonction %userprofile%\documents qui pointe vers %userprofile%\mes documents et de lui applique les même droits que sur les jonction créées par Windows.

     

    ++

    Alain


    mardi 18 octobre 2011 21:00
  • Le mardi 18/10/2011 23:00:45, Alain Quarré a écrit dans le message <news:43747f58-4bef-4d34-bfe7-2417a4412d49@communitybridge.codeplex.com> ce qui suit :

    Petite précision sur les jonctions.
    Si "Tout le monde" se voit gratifié d'un "Refuser" pour l'autorisation "Liste du dossier/lecture des données", c'est qu'il y a une raison

    Les jonctions sont là pour assurer la rétrocompatibilité de Vista/Seven/2008 (toutes les versions 6.x en somme) avec d'anciens soft qui voudrais écrire dans un dossier qui existait sous Xp et antérieur.

    Et ceux qui voudraient LIRE, cela existe, n'est-il pas ?

    Cette compatibilité ascendante est FOIREUSE, la preuve!
    MS aurait mieux fait de ne pas la mettre en place.
     > Pour cela, si les jonctions sont bien interdites en lecture, elle sont

    autorisées en écriture.
    Alors pourquoi ne sont-elle pas tout simplement accessible en lecture/écriture ??? cela semble bien plus simple, non?

    l'interdiction d’accès en lecture est là pour éviter :

    * les copies cyclique, ce qui serait toujours le cas si les jonctions récursives étaient disponible en lecture. (une jonction récursive est une jonction qui pointe sur un de ses dossier parent)

    Cette récursivité est une ABERRATION !
    cf. %LOCALAPPDATA%\Application Data qui pointe vers %LOCALAPPDATA% !
     * Les copies redondantes

    (si tu copies %userprofile%\documents   et la jonction*%userprofile%\mes documents*   si elle est accessible en lecture, tu te retrouverais avec deux copies strictement identiques de ton dossier Documents)

    Là aussi une autre absurdité !
    Le système de renommage (apparent) à l'aide d'un fichier DESKTOP.INI (avec une ligne "LocalizedResourceName=...") utilisé dans XP et Vista , fonctionnait très bien (nom réel "Documents", nom apparent dans explorer "Mes documents")
    Quel est donc l'esprit tordu chez MS qui a décidé de remplacer ça par une jonction ?

    Il y a vraiment une palanquée de SHADOKS à Redmond :
     "Pourquoi faire simple quand on peut faire compliqué?"

    PS: je ne suis pas hostile aux JONCTIONS, apparues avec NTFS 3.0 et Windows 2000, et qui peuvent rendre de grands services (p.ex. sous XP je m'en sers pour déplacer sur une autre partiton le dossier $hf_mig$).

    Ce que je conteste ici est leur utilisation pour pallier les effets de biais dus à des changements d'architecture mal étudiés ...



    May the Force be with You!
    La Connaissance s'accroît quand on la partage
    ----------------------------------------------------------
    Jean-Claude BELLAMY [MVP Expert IT Pro]
    http://www.bellamyjc.org  ou http://jc.bellamy.free.fr

    mardi 18 octobre 2011 23:04
  • J'avais vu finalement hier soir qu'il s'agissait de jonctions mais pas eu le temps d'updater le post.

    Je comprends mal le bricolage de Microsoft, car même pour assurer une compatibilité certains anciens softs ont besoin de lire ces dossiers... bref.

    Le problème vient en effet de mon soft de synchro qui, bien que compatible seven, cherche à ouvrir les jonctions "Mes images", "ma musique", etc.. pour lire le contenu et le comparer avec le dossier sur le réseau. C'est là qu'il se fait jeter.

    Il faut que je mette une exception dans l'analyse de ces dossiers... que c'est amusant !

     

    En tout cas merci pour ce débat instructif ! 


    • Modifié Romain49 mercredi 19 octobre 2011 07:05
    • Marqué comme réponse Florin Ciuca lundi 24 octobre 2011 07:02
    mercredi 19 octobre 2011 07:04