![Как изменить пароль для нескольких учетных данных в Windows Vault (он же Credential Manager)?](https://rvso.com/image/1302244/%D0%9A%D0%B0%D0%BA%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85%20%D1%83%D1%87%D0%B5%D1%82%D0%BD%D1%8B%D1%85%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Windows%20Vault%20(%D0%BE%D0%BD%20%D0%B6%D0%B5%20Credential%20Manager)%3F.png)
Мой ноутбук с Windows 7 не присоединен к домену Active Directory моей компании. Однако я подключаюсь к ряду ресурсов в домене, включая сайты интрасети, общие файловые ресурсы и TFS. Каждые три месяца моя компания заставляет меня менять пароль.
Я обнаружил, что в Windows 7 есть диспетчер учетных данных, в который я могу зайти и изменить сохраненные пароли. Однако к тому времени, как я меняю пароль, у меня есть как минимум дюжина различных учетных данных для редактирования. Обратите внимание, что все учетные данные имеют одинаковое имя пользователя в формате "домен\пользователь".
Есть ли способ изменить пароль для всех учетных данных с одним и тем же именем пользователя?
Я думаю, что проблема более остра с файлообменниками и TFS, где мне, похоже, просто отказывают в доступе. С сайтами интранет я, по крайней мере, получаю запрос от Internet Explorer на смену пароля (хотя и неоднократно для каждого, к которому я обращаюсь).
решение1
Для полноты картины вы можете управлять учетными данными в командной строке или в пакетном скрипте cmdkey.exe
(расположенном в %windir%\system32).
Например, чтобы добавить (или обновить) учетные данные server.domain.tld
:
cmdkey.exe /add:server.domain.tld /user:username /pass:password
или для всего домена:
cmdkey.exe /add:*.domain.tld /user:username /pass:password
/user
также можно взять domain\username
илиusername@domain
Вместо того чтобы открывать Windows Vault, вы можете запустить простой пакетный скрипт, который запросит у вас новый пароль:
set /p pw=Enter your new password:
cmdkey.exe /add:*companydomain.tld /user:myusername /pass:%pw%
решение2
Если кому-то интересно читать и писать в него из PowerShell или C#, вот ссылка на скрипт, который это делает:
Диспетчер учетных данных PowerShell: CredMan.ps1
Скрипт PowerShell обращается к API через встроенный код C#, использующий Pinvoke.