Mon employeur a une stratégie de groupe Active Directory qui définit mon ordinateur portable Windows 7 HOMEDRIVE sur "M:" (un lecteur réseau mappé) et mon HOMEPATH sur "\". Étant donné que je dispose d'autorisations en lecture seule pour la racine de ce lecteur partagé, je ne peux pas créer de fichiers ni de répertoires dans mon répertoire personnel Windows. Mes tentatives de collaboration avec le service informatique ont été infructueuses.
Existe-t-il un moyen pour moi de changer globalement ces envars au démarrage ou au moment de la connexion? J'ai besoin que toutes les applications utilisent des valeurs alternatives (telles que "C:" et "\ Users \ myname"). Certains utilitaires installés (tels que gvim et autres) stockent les fichiers de préférences dans le répertoire personnel de l'utilisateur.
IMPORTANT : La modification de ces paramètres sous "Propriétés système> Variables d'environnement" ne fonctionne pas . J'ai essayé de les définir en tant que variables utilisateur et système (y compris un redémarrage). Taper SET HOME
dans une fenêtre DOS indique clairement que mes paramètres sont ignorés. En outre, l'utilisation de "Démarrer dans" dans un raccourci Windows ne résoudra pas ce problème, car j'ai besoin d'éléments tels que des éléments de menu contextuel de l'Explorateur (tels que "Éditer avec Vim") pour fonctionner correctement.
J'ai des droits d'administrateur sur l'ordinateur portable de cette société, mais je ne suis pas un gourou de Win7. De retour dans la journée, un script de démarrage aurait résolu ce problème en une minute. Est-ce même possible aujourd'hui? Merci.
Réponses:
Ci-dessous quelques astuces que j'ai développées. Ils ne sont pas élégants, mais peuvent être fonctionnels dans votre environnement d'entreprise.
HOMEDRIVE seulement
Il semble que de nombreuses applications utilisent uniquement HOMEDRIVE / HOMEPATH. Dans ce cas, vous pouvez créer un script de démarrage qui réaffecte la lettre du lecteur de base à votre chemin d'utilisateur local via le chemin d'administration du lecteur UNC:
HOMEDRIVE Local Default
Si vous n'avez pas du tout besoin d'accéder à «Serveur» par son nom, vous pouvez provoquer l'échec du paramètre de stratégie de groupe et son retour sur votre ordinateur local. Pour ce faire, le moyen le plus simple consiste à ajouter une entrée à C: \ Windows \ System32 \ drivers \ etc \ hosts comme:
Après le redémarrage, vous devriez voir quelque chose comme:
HOMEDRIVE / SHARE avec chemins UNC hybrides locaux / distants
Si vous souhaitez accéder à "Serveur" par nom pour certains chemins UNC, mais en substituer d'autres aux chemins locaux, j'ai développé l'abomination suivante. Remarque: les connexions de serveur directes vers "Serveur" seront toujours résolues sur votre ordinateur local. Je recommande cette solution uniquement si "Serveur" est uniquement un serveur de fichiers:
Modifiez C: \ Windows \ System32 \ drivers \ etc \ hosts pour rediriger "Serveur" vers votre ordinateur local:
Ajoutez la valeur de Registre multi-chaînes suivante à HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0 pour autoriser la transmission des informations d'identification au chemin UNC local:
Créez un répertoire factice qui servira de racine du serveur:
Pour chaque chemin UNC que vous souhaitez diriger vers le vrai serveur:
Pour chaque partage UNC que vous souhaitez définir localement (par exemple, Utilisateurs):
Redémarrage
Pour l'exemple, cela permettrait de résoudre les chemins UNC suivants:
Cette résolution de chemin doit avoir lieu avant les mappages de lecteurs. Tant que les chemins UNC associés aux mappages sont valides (qu'ils soient locaux ou distants), les lettres de lecteur doivent se comporter comme prévu.
Par exemple, dans ma configuration, les variables suivantes sont forcées par le domaine:
Mais à cause de mes correspondances, le résultat est:
la source
La meilleure solution que j'ai trouvée était de définir des variables lors de la connexion et avant
userinit.exe
.C'est ce que j'ai fait. D'abord créé un fichier de commandes
C:\Windows\System32\userinit.cmd
contenantpuis changé de valeur de
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
àC:\Windows\System32\userinit.cmd
dans le Registre.Plus d'informations sur: https://technet.microsoft.com/en-us/library/cc939862.aspx
la source
Je l'ai utilisé
SETX
dans un script de démarrage et cela a fonctionné pour moi. Voir ma réponse .la source
Je pense que ces chemins sont automatiquement définis à l'endroit où se trouve votre profil d'utilisateur. Le lecteur d’accueil auquel vous faites référence est l’endroit où se trouvent votre ntuser.dat, vos données d’application et d’autres dossiers de profils d’utilisateur, correct? De retour avec NT3.x, le "profil utilisateur" était simplement votre ruche de registre d’utilisateurs avec des paramètres et vous pouviez définir un chemin de base distinct pour chaque utilisateur. Ceux-ci ont été unifiés dans NT4 en tant que profil utilisateur avec un bureau, mes documents, un menu Démarrer, etc.
Les emplacements de tous les profils sont stockés dans des clés de registre sous
Vous trouverez des valeurs pour les profils spéciaux et des sous-clés: une pour chaque profil actif du système. Ils sont configurés par le SID du compte d'utilisateur auquel ils appartiennent. Le moyen le plus simple de trouver le vôtre serait de faire défiler chacun d'eux à la recherche du bon chemin (sous la
ProfileImagePath
valeur). Vous devriez pouvoir changer cette valeur en choisissant le chemin que vous voulez; cela prendra effet la prochaine fois que vous vous connecterez. Veillez à copier d'abord vos fichiers dans le nouveau chemin.Si vous devez déplacer le profil du compte sur lequel vous êtes connecté (c'est-à-dire connecté en tant que MikeC et que vous essayez de copier le profil pour MikeC), le fichier ntuser.dat (contenant la ruche de registre
HKEY_CURRENT_USER
) sera verrouillé par le noyau. Vous pouvez toujours copier la ruche: allez dans regedit, cliquez avec le bouton droit de la souris surHKEY_CURRENT_USER
, sélectionnez Exporter, modifiez le type en fichiers ruche du registre et enregistrez-le sous le nom ntuser.dat à votre nouvel emplacement.D'après mon expérience, si winlogon rencontre un problème lors du chargement d'un profil en raison d'une configuration incorrecte, il crée une nouvelle copie à partir du profil par défaut ou vous en fournit une copie temporaire à utiliser pour cette session. Vous pourrez toujours vous connecter. Cependant, je vous recommanderais d’utiliser un autre identifiant d’administrateur à utiliser sur le système en cas de problème.
la source
Je publie ceci au cas où quelqu'un d'autre viendrait à cette question via google. Au lieu de changer mon répertoire personnel et de mettre en colère mon équipe informatique, j'ai configuré et exécuté mon développement sur une machine virtuelle. Microsoft propose Widows XP en mode virtuel. http://www.microsoft.com/windows/virtual-pc/download.aspx
la source
Une alternative un peu plus simple serait d'exécuter le script ci-dessous (env-reset.vbs) en tant que tâche planifiée à l'ouverture de session, le déverrouillage et peut-être toutes les quelques minutes également.
la source