Comment réinitialiser en bloc les mots de passe de tous les utilisateurs d'une unité d'organisation?


14

Je suis développeur dans mon organisation, mais j'ai été chargé de réinitialiser les mots de passe des utilisateurs de messagerie électronique 10 000 dans une unité d'organisation dans Active Directory. J'ai reçu les autorisations appropriées, puis j'ai envoyé l' article TechNet suivant , mais je ne sais pas où j'exécuterai cela ni comment cela fonctionne exactement. Je m'excuse si cette question est trop vague, mais je ne savais pas trop où je pourrais demander (je demanderais à un administrateur système de mon organisation, mais cela prendrait un certain temps pour répondre). Quelqu'un pourrait-il me donner un aperçu de ce que fait exactement cette applet de commande et comment je procéderais pour exécuter cela?


3
Tous le même mot de passe, ou ont-ils tous besoin de mots de passe différents? Comme je suis sûr que vous le savez, 10 000 utilisateurs avec le même mot de passe ne sont pas la meilleure idée au monde ...
Ben Pilbrow

Tout de même mot de passe. Il se trouve que cela fonctionne dans notre scénario, nous comprenons à quel point cela semble à l'envers et les utilisateurs changeront de mot de passe à la prochaine connexion.
Christopher Garcia

Réponses:


28

Beaucoup plus facile que ça. Installez les outils d'administration de serveur distant (en fonction de la saveur de votre système d'exploitation) afin d'obtenir les outils AD DS. N'oubliez pas d'aller dans vos fonctionnalités Windows dans le Panneau de configuration pour activer les bons jeux d'outils.

Une fois que vous avez fait cela, la commande suivante atteindra le résultat souhaité:

DSQUERY user "OU=myOU,OU=myUsers,DC=myDomain,DC=loc" -limit 0 | DSMOD user -pwd <insert new password here>

~ Remplacez "OU = myOU, OU = myUsers, DC = myDomain, DC = loc" par le nom unique de l'unité d'organisation contenant les utilisateurs à modifier


Vais-je le faire dans le module Active Directory pour PowerShell?
Christopher Garcia

2
La solution d'izzy fonctionne à partir de l'interpréteur de commandes standard ol 'cmd.exe :)
cheeseprocedure

J'ai exécuté la commande, en remplaçant la chaîne comme indiqué "OU = Users, OU = External Users, DN = ourdomain, DN = org", mais j'obtiens l'erreur suivante: "dsquery a échoué: aucune référence supérieure n'a été configurée pour le service d'annuaire . "
Christopher Garcia

Peu importe, lisez autour et apparemment au lieu de DN, j'étais censé utiliser DC. Je ne sais pas pourquoi, si quelqu'un pouvait expliquer je serais reconnaissant. Merci pour votre aide tout le monde. :)
Christopher Garcia

1
DN signifie "Distinguished name" et est un moyen d'identifier de manière unique n'importe quel objet dans l'arborescence de répertoires. DC signifie "Domain Component", OU pour Organizational Unit et CN pour Common Name. Un DN est composé de pièces DC, OU et CN. Si votre domaine est corp.acme-widgets.local et Joe Bloggs est dans une unité d' organisation appelée ventes , qui est dans une unité d' organisation appelée utilisateurs, DN Joe Bloggs seraitCN=Joe Bloggs,OU=Sales,OU=Users,DC=corp,DC=acme-widgets,DC=local
Ben Pilbrow

5

Je veux juste jeter ça là-bas et dire que c'est une horrible idée. Si la nécessité de modifier les mots de passe utilisateur 10K est présente, une réinitialisation en bloc ne devrait pas faire partie du processus. Au mieux, le simple fait de forcer un changement la prochaine fois qu'un utilisateur se connectera empêcherait le gigantesque trou de sécurité que vous ouvrez.


Devrait être une réponse Wiki de la communauté
Izzy

La réinitialisation en masse n'est pas nécessairement une idée terrible, si vous utilisez des mots de passe uniques, c'est-à-dire la réinitialisation des mots de passe aux numéros de sécurité sociale ou à toute autre information privée connue de l'entreprise. Cependant, je conviens que réinitialiser 10 000 comptes avec le même mot de passe est une TERRIBLE idée. Je ne comprends pas comment forcer un changement de mot de passe accomplit la même chose, à moins que le compte ne soit empêché de vérifier le courrier jusqu'à ce que le mot de passe soit changé.
JamesBarnett

Pour notre cas, nous effectuons une réinitialisation en bloc, avec le même mot de passe pour tous les utilisateurs (ils ne le savent pas) parce que nous avons appris que les gens utilisent les comptes des autres. Donc, quand leur mot de passe ne fonctionne pas, ils vont appeler, puis nous vérifierons qui ils sont ...
ganders

4

Voici une variante PowerShell à ajouter au mix. Exécutez-le à partir des modules Active Directory pour Windows Powershell. Notez que le mot de passe doit répondre à toutes les exigences (longueur, complexité, etc.) spécifiées par la stratégie de domaine.

Les choses que vous devrez changer dans ce cas sont le -SearchBaseparamètre et le -NewPasswordparamètre.

Utilisez Import-Module ActiveDirectorypour ajouter les modules Active Directory dans PowerShell par défaut.

Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Department,OU=Users,DC=corp,DC=acme-widgets,DC=local" | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "New Password Here" -Force)

Pour voir quels utilisateurs cela affectera avant d'exécuter la commande ci-dessus, exécutez cette commande pour vous donner une liste des comptes affectés.

Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Reset Pwd 2,OU=Reset PWD 1,DC=corp,DC=acme-widgets,DC=local" | Ft Name


0

Je pense que la réinitialisation en masse des mots de passe 10k n'est pas une bonne idée. Nous pouvons simplement choisir l'option «modifier à la prochaine connexion». Cela garantira que nous ne violons aucune politique ou processus de sécurité de l'information. GN

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.