9

Мы можем удалить запомненные / кэшированные пароли с помощью диспетчера учетных данных, как здесь, и с помощью команды cmdkey как здесь.

Я хочу иметь одну команду, которая быстро очистит все пароли. Как мы можем сделать это?

3 ответа3

18

для этого вам обязательно нужно создать командный файл. может быть, следующая ссылка поможет вам в этом

Это аналогичный пост. Попробуйте это.

Сценарий

cmdkey.exe /list > "%TEMP%\List.txt"
findstr.exe Target "%TEMP%\List.txt" > "%TEMP%\tokensonly.txt"
FOR /F "tokens=1,2 delims= " %%G IN (%TEMP%\tokensonly.txt) DO cmdkey.exe /delete:%%H
del "%TEMP%\List.txt" /s /f /q
del "%TEMP%\tokensonly.txt" /s /f /q
8

Попробуйте следующий однострочник:

for /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr Target') do  cmdkey /delete %H

Он делает именно то, что делает командный файл, но без временных файлов и в одну строку. Передайте результаты команды cmdkey /list в findstr (который будет искать строку из STDIN). Затем используйте результат внутри цикла FOR, используя функцию "команда для обработки", заключенную в одинарные кавычки, и, удаляя каждый из элементов (второй параметр в списке), изящный способ сделать то же самое, что и командный файл, используя только стандартные трубопровод, и никаких временных файлов.

2

Конечно, но это зависит от того, сколько у вас «целевых имен».

cmdkey /delete:Administrator && cmdkey /delete:Knuckle-Dragger

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .