Changer (pas réinitialiser!) Mon propre mot de passe d'utilisateur de domaine à l'invite de commande

12

J'ai lu la commande net user <username> <password> /domainde "changer" le mot de passe de mon compte de domaine. Mais cela ne me demande pas mon mot de passe actuel, et j'ai l'impression (bien que personne ne m'ait averti explicitement) qu'il ne change pas / ne met pas à jour mon mot de passe normalement, mais le réinitialise à la place . Cela signifierait que je perds l'accès à toutes les choses cryptées liées à mes informations d'identification, e. g. EFS.

Comment puis-je changer mon mot de passe pour un compte de domaine sur la ligne de commande sans perdre l'accès crypto? Je recherche un équivalent fonctionnel complet de l'interface graphique Ctrl + Alt + Supprimer / Modifier le mot de passe pour l'automatisation. Il doit également accepter le mot de passe actuel comme paramètre de ligne de commande si nécessaire.

Il s'agit de Windows 7 et d'un contrôleur de domaine actuel d'âge similaire ou plus. J'ai des privilèges d'administrateur local mais pas pour le domaine, mais j'imagine qu'il ne devrait pas être nécessaire de changer mon propre mot de passe utilisateur.

ygoe
la source
@Ramhound Linux fonctionne différemment. Il a un seul fichier texte avec des hachages de mot de passe qui ne sont utilisés que pour les connexions. Vous pouvez utiliser des méthodes de connexion alternatives comme les clés SSH ou su et conserver toutes vos données. Windows lie les données cryptographiques à vos informations d'identification et c'est ce qui se perd lorsque vous ne mettez pas correctement à jour votre mot de passe, i. e. réinitialisez-le. La commande Powershell mentionnée ci-dessous requiert également l'ancien mot de passe, sauf si le commutateur -reset est spécifié.
ygoe

Réponses:

5

Il ne vous demande pas votre mot de passe actuel, car vous exécutez probablement la commande / le script en tant que vous-même, il utilise donc vos informations d'identification.

Vous pouvez utiliser PowerShell Set-ADAccountPassword pour cela, si vous souhaitez une fonctionnalité plus puissante pour changer votre mot de passe. Vous pouvez également obtenir des informations d'identification de l'utilisateur avec Get-Credential .

Vous pouvez les utiliser après avoir installé RSAT (Remote Server Admin Tools)et importé le module via la commande Import-Module ActiveDirectory.

hagier
la source
La commande "Set-ADAccountPassword" n'est pas reconnue. D'où est ce que ça vient?
ygoe
J'ai mis à jour la réponse, faites-moi savoir si vous le faites fonctionner.
hagier
3
Oh, je ne cherchais pas à installer de grands cadres supplémentaires pour cela. Je ne peux donc pas l'utiliser. Toujours à la recherche d'une solution simple en ligne de commande.
ygoe
Vous essayez de scripter des actions ActiveDirectory, j'ai donc supposé que vous êtes un administrateur informatique (RSAT est un must-have). Je n'ai aucune idée de l'endroit où vous avez accès, alors peut-être jetez un œil à cet article .
hagier
2
J'ai mentionné Windows 7 dans ma question et c'est la machine sur laquelle je suis assis. Je ne suis pas l'administrateur réseau, je souhaite simplement automatiser la modification des mots de passe des utilisateurs de domaine habituels, et uniquement en cas de connexion interactive. Je recherche un équivalent d'automatisation de l'interface graphique Ctrl + Alt + Suppr avec CMD, PS ou des appels API Win simples. Comme il s'agit d'une interface graphique standard pour moi en tant qu'utilisateur, je ne perçois pas cela comme une opération administrative.
ygoe
0

PowerShell.exe -commande "Set-ADAccountPassword -Identity" "-OldPassword (ConvertTo-SecureString -AsPlainText" "-Force) -NewPassword (ConvertTo-SecureString -AsPlainText" "-Force) -server" ""

Jeffrey Walker
la source
Je ne comprends pas
Pierre.Vriens