Merci à Alain quarré et à PC-ACCOMPAGNE pour ses tests sous Windows 8.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bonjour à tous,
Tout d'abord, une petite mise au point:
Je fourni ce script de manière libre. Vous pouvez le copier, le modifier et le distribuer.
Il est fourni 'tel quel', sans aucune garantie.
Vous êtes tenu de faire des tests sur un système prévu à cela.
Si vous êtes d'accord avec ce qui précède, la suite est à vous.
For english version, see here
Thanks to Pepito
Comment faire en sorte que les dossiers utilisateurs soient là où on veut.
Bon nombre de tutos sur le net vous indiqueront comment déplacer le dossiers Mes Documents, Mes Images, Téléchargements, Mes Vidéos, ...
Néanmoins, la méthode la plus expliquée (clic droit, propriétés, emplacement, ...) pose plusieurs problèmes.
Problèmes des jonctions.
Ce problème est lié aux Jonctions créées lors de l'activation du compte utilisateur.
Les jonctions sont là pour rediriger les écritures sur, par exemple, Mes documents
Si vous déplacez Mes Documents en passant par clic droit, propriétés, il est vrai que le dossier Mes Documents sera au nouvel endroit.
Mais, dans le dossier utilisateurs, il y aura toujours une jonction Mes Documents qui pointera toujours vers l'ancien emplacement.
Déplacez votre dossiers Mes Documents, puis, constatez l'état des jonctions:
Pour ce faire, dans une fenêtre de commande, tapez:
Code : Tout sélectionner
dir "%userprofile%" /AL
Pour le prouver, dans la même fenêtre de commande, tapez:
Code : Tout sélectionner
mkdir documents
puis
dir c:>"%userprofile%\Mes Documents\test.txt"
Ceci était le premier défaut de ces méthodes.
Travail fastidieux
Le deuxième défaut est qu'il faut procéder manuellement, pour chaque dossier, pour chaque utilisateur, et si un nouvel utilisateur est créé, il faut refaire toutes les manip.
Problèmes de sécurité
Troisième défaut de cette méthode, et non des moindres,
Si vous déplacez vos dossiers, n'oubliez pas que tous les autres utilisateurs, même les non administrateurs auront tous les droits sur vos dossiers déplacés.
La dernière version du script intégrant la sécurité corrige ce problème.
Comment le script fonctionne:
Le script que je vous propose modifie la ruche registre du "Default User". Le "Default User" est le modèle employé à l'activation du profil d'un utilisateur.
Sur Seven, cette ruche est là: C:\Users\Default\NTUSER.DAT
Vous pouvez lire plus d'info sur son fonctionnement dans un post que j'ai fais pour XP
http://forum.generation-nt.com/windows- ... ut-186681/
Effet du script
Après l'application du script, tout nouvel utilisateur aura ses dossiers à l'endroit choisi.
A la première connexion du nouvel utilisateur, un autre script créera les jonctions, qui cette fois-ci, pointeront vers les bons dossiers et modifiera aussi les paramètres de sécurité pour qu'ils soient identiques que sur les dossiers originaux.
Le script ne modifie absolument rien pour l'utilisateur en cours ou pour les utilisateurs déjà actifs sur le PC
Il n'y a donc aucun risque à le tester avec un nouvel utilisateur test sur votre PC
Pour télécharger le script, une version toujours à jour : Voir en bas de ce post.
Mode d'emploi :
Le script à lancer est PositionDefaultFolderSevenModular.cmd OBLIGATOIREMENT en administrateur.
Le dossier de destination par défaut du script est D:\Documents\
Si ce dossier est OK pour vous, il suffit de taper Enter au clavier jusqu'à la fin du script
Que fait ce script?
Le script est totalement modulaire et permet de définir les choses suivantes:
- Les dossiers à déplacer
La destination
Si il faut un sous dossier par utilisateur ou pas
Si il faut cacher le dossier de destination
Sécurité des dossiers déplacés
Le script est capable de déplacer les dossiers suivants:
- Mes Documents
Mes images
Mes vidéos
Ma musique
Bureau
Favoris
Historique
Téléchargements
Parties enregistrées
Contacts
Recherches
Cookies
Cache Internet explorer
CD Burning
Personnalisation.
Pour choisir un autre emplacement, vous devez modifier le fichier PositionDefaultFolderSevenModular.ini qui se trouve dans le sous répertoire de langue.
Un contrôle est de toute façon fait sur le dossier de destination.
Pour paramétrer le script, il faut éditer le fichier PositionDefaultFolderSevenModular.ini dont voici le contenu original:
Code : Tout sélectionner
Mes Documents*Personal*AddUserName*Security*Documents*D:\Documents
Mes images*My Pictures*AddUserName*Security*Pictures*D:\Documents
Mes vid‚os*My Videos*AddUserName*Security*Videos*D:\Documents
Ma musique*My Music*AddUserName*Security*Music*D:\Documents
Bureau*Desktop*AddUserName*Security*Desktop*D:\Documents
Favoris*Favorites*AddUserName*Security*Favorites*D:\Documents
T‚l‚chargements*{374DE290-123F-4565-9164-39C4925E467B}*AddUserName*Security*Downloads*D:\Documents
Parties enregistr‚es*{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}*AddUserName*Security*Saved Games*D:\Documents
Contacts*{56784854-C6CB-462B-8169-88E350ACB882}*AddUserName*Security*Contacts*D:\Documents
Recherches*{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA}*AddUserName*Security*Searches*D:\Documents
Cookies*Cookies*AddUserName*Security*Cookies*D:\CacheFolder*Hide-Sys
Historique*History*AddUserName*Security*History*D:\CacheFolder
Cache Internet explorer*Cache*AddUserName*Security*Temporary Internet Files*D:\CacheFolder
CD Burning*CD Burning*NoUserName*NoSecurity*Burn*D:\CacheFolder
Chaque ligne comporte 7 champs séparés par *
Code : Tout sélectionner
Local name
Registry Value Name
AddUserName or NoUserName
Security or NoSecurity
Sub-Folder Name
Move-to Position (NO BACKSLASH @end)
(Optional) "Hide-Sys" Le répertoire de destination sera marqué en Système et Caché.
Seul les champs 3, 4, 6 et 7 peuvent être modifiés.
Placez le signe 'plus petit que' (<) au début des lignes des dossiers que vous ne voulez pas déplacer.
Exemple de modification
Mettre NoUserName à la place de AddUserName dans la ligne 4, Ma Musique, pour que tous les nouveaux utilisateurs aient un dossier musique en commun...
Problème connu avec ce script
L'activation du compte Invité après l'application de ce script posera problème.
Ce problème est dû au fait que le compte Invité n'as de droit d'écriture que sur son profil.
Des modifications vont être apportées au script pour que celui-ci cache le compte Invité si celui-ci n'est pas encore activé.
Dans tous les cas, il est de toute façon préférable de créer un compte standard en lieu et place du compte Invité.
Voilà, je vous laisse tester cela.
N'hésitez pas à poser vos questions
Téléchargements
NB: N'oubliez pas que vous êtes tenu de faire des tests dans un environnement prévu à cet effet.
La mise en production de ce script dépend uniquement de votre décision.
Version Multilingue.
Avec gestion de la sécurité des dossiers.
Les modifications futures seront uniquement apportées à cette version.
Par défaut, tous les dossiers déplacés, sauf Ma Musique, sont inaccessibles par les autres utilisateurs Non administrateurs
Version uniquement française.
Cette version date du 15 septembre 2010 et n'évoluera plus.
Je la laisse pour information.
Choisissez de préférence la version multilingue, avec gestion de la sécurité.
Version Multilingue.
Cette version date du 29 novembre 2010 et n'évoluera plus.
Je la laisse pour information.
Choisissez de préférence la version multilingue, avec gestion de la sécurité.
Pour les nostalgiques.
Première version crée pour Windows XP.
Je m'en sers encore de temps en temps.
On peut constater l'évolution depuis!
Pour déplacer le dossier public, un autre script.
Voir: topic4396.html
Et le téléchargement
******************************************************************************************************
Maj 03/05/2010
Epurage du post et suppression de l'ancien script non modulaire.
Maj 11/06/2010
- Correction d'un bug mineur (affichage d'un message quand le script n'est pas exécuté en administrateur)
- Modification du script de création des jonctions. Plus besoin d'une intervention de l'utilisateur.
Maj 15/09/2010
Suite au test effectué par Stephan, voir:
topic4073-110.html#p44897
J'ai corrigé la manière de fonctionner de la restauration des paramètres par défaut.
Auparavant, la restauration ne prenait pas en compte les dossiers suivants:
Code : Tout sélectionner
Saved Games
Contacts
Searches
Links
CD Burn
De ce fait, la restauration ne les restaurait pas !
Maintenant, le script ajoute ces valeurs dans la branche:
\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
De la ruche Default User avant de sauver celle-ci.
Cela fait, la restauration rétablit toutes les valeurs originales plus celles ajoutées.
Pour ceux qui ont appliqué le script AVANT le 15/09/2010, et qui veulent appliquer restauration, suivre cette procédure :
Code : Tout sélectionner
Appliquez le script de restauration (RestoreOriginal.cmd)
Dans C:\Windows\, effacez le fichier OriginalUserShellFolder.reg
Appliquez le script PositionDefaultFolderSevenModular.cmd (la nouvelle version)
A ce moment là, le fichier OriginalUserShellFolder.reg est déja corrigé et utilisable
Ré-appliquez le script de restauration (RestoreOriginal.cmd)
Le système est maintenant complètement rétabli à l'originale.
Maj 10/10/2010 (a)
- Vérification de l'emplacement à partir duquel le script est lancé
Il est maintenant impossible de le lancer à partir d'un emplacement défini dans le fichier .ini
Maj 10/10/2010 (b)
Modification complète pour une gestion multilingue.
suite à la demande de Pepito, pour avoir une version anglaise du script.
Je me suis dis qu'il serait mieux d'introduire dans le script une gestion évolutive de plusieurs langues.
Chaque langue de Windows peut maintenant avoir son sous dossier contenant les fichiers PositionDefaultFolderSevenModular.ini et lang.ini
Pour le moment, les langues suivantes sont présentes:
Code : Tout sélectionner
Français
Anglais
J'aimerais ajouter aussi les langues suivantes.
Code : Tout sélectionner
Néerlandais
Allemand
Italien
Espagnol
Votre aide est la bienvenue.
Maj 29/11/2010
Intégration de la gestion de la sécurité des dossiers.
Par défaut, les dossiers utilisateurs sont accessibles uniquement par l'utilisateur lui-même et les membres du groupe Administrateurs.
Avec le déplacement des dossiers, la sécurité se trouve être celle héritée du dossier de destination.
Ce qui fait que tous les utilisateurs ont tous les droits sur tous les dossiers...
Avec le script, la sécurité des dossiers sera la même que celle des emplacements originaux.
Dans le fichier PositionDefaultFolderSevenModular.ini, si le champ 3 est AddUsername ET le champ 4 est Security,
les paramètres de sécurité suivants sont appliqués aux dossiers concernés:
Code : Tout sélectionner
Applications de tous les droits à l'utilisateur. (+héritage)
Suppression des droits hérités
Applications de tous les droits au compte system (+héritage)
Applications de tous les droits au groupe Administrateurs
NB: Par défaut, et comme pour les jonctions, Windows n'applique pas aux dossiers déplacés la sécurité d'origine.
le script, maintenant, le fait!
Maj 27/07/2011
Modification de script Jonctions.cmd
Ajout de la variable %userdomain% pour l'application de la sécurité des dossiers.
L'absence de cette variable a posé un problème de droit d'accès au dossier Temporary Internet Files à un utilisateur en domaine.
Voir le script jonctions.cmd à la ligne 156
Téléchargez la dernière version.
Merci de faire un retour, une remarque, une question, une correction, une idée,...
Pour les fôte d'orthografe, un MP svp.
PS: pour déplacer TOUT le dossier utilisateur par défaut, c'est beaucoup plus simple que cela....