1 votes

Active Directory ; édition par lots des dossiers personnels ?

Nous migrons nos dossiers d'utilisateurs vers un nouveau serveur. Ils sont de la forme \\server\users\UserName\ Ainsi \\server\users\Tim Smith\ . Nous voulons essentiellement changer server à server1 Nous avons un grand nombre d'utilisateurs ; la modification manuelle de chaque utilisateur prend donc beaucoup de temps.

Avez-vous des suggestions quant aux outils que je pourrais utiliser pour modifier par lots tous mes utilisateurs ?

7voto

Evan Anderson Points 140581

Active Directory Users and Computers peut faire ce que vous voulez, si les noms de vos dossiers d'utilisateurs correspondent aux noms de leurs comptes.

En supposant que tous les utilisateurs se trouvent dans la même OU, il suffit de les mettre en surbrillance, de faire un clic droit et de choisir "Propriétés", d'accéder à l'onglet "Profil" et de saisir le nouveau chemin d'accès dans le formulaire :

\\server\users\%USERNAME%\

S'ils sont répartis sur plusieurs OU, c'est un peu plus difficile, mais pas beaucoup. En supposant que vous utilisiez la version Windows 2003 d'Active Directory Users and Computers :

  • Dans le nœud "Saved Queries" (requêtes enregistrées) situé en haut de l'AD, cliquez sur "New" (nouveau) / "Query" (requête).

  • Nommez la requête comme vous l'entendez et fournissez une description si vous le souhaitez. Dans la définition de la requête, choisissez une OU au-dessus des comptes utilisateurs pour la "racine de la requête" (ou la racine du domaine, s'ils sont dans des OU qui sont des enfants de la racine).

  • Cliquez sur "Define Query". Dans la boîte de dialogue "Rechercher des requêtes communes", choisissez "A une valeur" dans la liste déroulante située à droite de l'intitulé "Nom" de l'onglet "Utilisateurs". Cliquez sur "OK" et "OK" à nouveau pour définir la requête.

  • Mettez en surbrillance votre requête nouvellement créée, puis cliquez avec le bouton droit de la souris et choisissez "Actualiser" (ou appuyez sur F5) si la requête ne s'affiche pas dans le volet de droite.

  • Mettez les utilisateurs en surbrillance dans le volet droit, cliquez avec le bouton droit de la souris et choisissez "Propriétés". Allez dans l'onglet "Profil" et effectuez les changements décrits ci-dessus.

C'est simple comme bonjour.

4voto

Aaron Smith Points 143

Vous pouvez également utiliser un fichier batch pour gérer cela et l'exécuter en tant que script, si vous ne souhaitez pas utiliser l'interface graphique. Ou vous pouvez simplement le taper dans une ligne de commande.

Si vous souhaitez modifier tous les utilisateurs de votre domaine, je procéderais de la manière suivante.

dsquery users | dsmod user -hmdir \\server\users\$username$\

dsmod reconnaît que l'indicateur $username$ signifie le samid de l'utilisateur qui lui est transmis par la commande dsquery. Il reconnaît également ce drapeau pour la commande -profile attachée à la commande dsmod.

Note : Si votre dossier partagé est un partage caché, cela ne fonctionnera pas, le point d'interrogation dans le partage caché trompe la commande en lui faisant croire que vous démarrez le drapeau plus tôt qu'il ne l'est en réalité. J'ai expérimenté des caractères d'échappement pour cela, mais je n'en ai pas trouvé jusqu'à présent qui résolve ce problème.

Si tous vos utilisateurs appartiennent à une OU spécifique, vous devez modifier la commande dsquery. Pour cette commande, vous devez ajouter le nom de domaine complet de l'OU qui contient tous les utilisateurs que vous souhaitez modifier. Ce nom peut être trouvé, de manière assez amusante, par le biais de la commande dsquery OU.

La commande se présente alors comme suit,

dsquery users [fully qualified domain name of the OU ] | dsmod user -hmdir \\server\users\$username$\

Si vous voulez le faire par lots et utiliser un partage caché, vous pouvez utiliser un boucle for pour le faire, mais la syntaxe devient un peu alambiquée à cause des boucles nécessaires pour extraire d'abord tous les utilisateurs, puis extraire seulement leurs noms, et ensuite revenir en arrière et insérer ces informations dans des zones spécifiques d'une commande dsmod. C'est moche, mais je ferais quelque chose comme ça.

dsquery user [fully qualified domain name of the ou] > c:\users.txt & for /f "delims==, tokens=2" %A in (c:\users.txt) do (dsmod user "CN=%A[rest of FQDN here] -hmdir "\\server\users$\%A\" && del c:\users.txt -q

Note : Si vous utilisez cette méthode dans un fichier batch, le symbole boucle for doit être précédé de doubles pourcentages, c'est-à-dire %%A au lieu de %A.

Il interroge tous les utilisateurs de l'OU spécifié et les envoie dans un fichier. Il exécute ensuite un boucle for, en extrayant le nom de l'utilisateur du FQDN dans le fichier et en l'insérant dans une commande dsmod qui modifie son répertoire personnel. Enfin, il se nettoie lui-même en supprimant le fichier qu'il a créé si le boucle for s'est déroulé avec succès.

J'espère que cela vous aidera, même si vous n'utilisez pas de fichier batch pour effectuer ce travail particulier, cela peut vous aider à l'avenir. L'avantage de ce type de fichier est qu'il peut être sauvegardé et que si vous avez besoin de modifier quelque chose à l'avenir, il vous suffira de le réexécuter pour effectuer les changements souhaités. En outre, si vous constatez que quelqu'un a apporté des modifications non autorisées, vous pouvez revenir en arrière d'un simple double clic.

0voto

joeqwerty Points 106914

Vous pouvez utiliser ADModify.NET pour modifier en masse les attributs des utilisateurs.

http://www.codeplex.com/admodify

0voto

gWaldo Points 11827

Les autres réponses basées sur les scripts sont toutes bonnes (et les scripts sont mon meilleur marteau), mais vous pourriez également réaliser la même chose avec un DNS CNAME et un renommage de serveur. Remplacez 'server' par 'oldserver', et CNAME 'server'->'server1'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X