Задача удалить сохранённые пароли из windows от пользователя
первый вариант
# Получаем все строки из cmdkey $credentials = cmdkey /list $searchTerm = "tcell" # Переменная для хранения целевых ресурсов $target = "" # Проходим по всем строкам и ищем нужные foreach ($cred in $credentials) { Write-Host "Текущая строка: $cred" # Выводим каждую строку для диагностики # Если строка содержит "Target", сохраняем целевой ресурс if ($cred -match "Target: (.*)") { $target = $matches[1].Trim() Write-Host "Найден целевой ресурс: $target" } # Если строка содержит $searchTerm, то удаляем соответствующий целевой ресурс if ($cred -match $searchTerm) { Write-Host "Найдена строка с tcell: $cred" # Выводим строку с # Удаляем запись с соответствующим целевым ресурсом if ($target) { $deleteResult = cmdkey /delete $target Write-Host "Результат удаления: $deleteResult" } else { Write-Host "Не найден целевой ресурс для удаления." } } } # Повторно выводим список учетных данных для проверки Write-Host "Обновленный список учетных данных:" cmdkey /list
Версия 2 для exe
# Устанавливаем кодировку консоли в UTF-8 $OutputEncoding = [System.Text.Encoding]::UTF8 # Добавляем сборку для работы с InputBox Add-Type -AssemblyName "Microsoft.VisualBasic" # Создаем поле для ввода с запросом от пользователя $searchTerm = [Microsoft.VisualBasic.Interaction]::InputBox("Введите строку для поиска", "Поиск учетных записей") # Если строка не введена, выходим из скрипта if (-not $searchTerm) { Write-Host "Вы не ввели строку для поиска. Скрипт завершен." exit } # Получаем все строки из cmdkey $credentials = cmdkey /list # Переменная для хранения целевых ресурсов $deletedTargets = @() # Проходим по всем строкам и ищем нужные foreach ($cred in $credentials) { # Если строка содержит "Target", сохраняем целевой ресурс if ($cred -match "Target: (.*)") { $target = $matches[1].Trim() } # Если строка содержит $searchTerm, то удаляем соответствующий целевой ресурс if ($cred -match $searchTerm) { # Удаляем запись с соответствующим целевым ресурсом if ($target) { $deleteResult = cmdkey /delete $target # Добавляем удаленную запись в список $deletedTargets += $target } else { # Пропускаем вывод ошибок, если не найден целевой ресурс # Write-Host "Не найден целевой ресурс для удаления." } } } # Выводим информацию о том, что было удалено if ($deletedTargets.Count -gt 0) { Write-Host "Удалены следующие записи:" $deletedTargets | ForEach-Object { Write-Host $_ } } else { Write-Host "Не было найдено и удалено записей." } # Повторно выводим список учетных данных для проверки #Write-Host "Обновленный список учетных данных:" #cmdkey /list
Similar Posts:
- Как удалить логин и пароль от удалённого рабочего стола.
- Как посмотреть кто залогинен на серверах в сети powershell
- Как искать внутри GPO групповых политик.
- Как разлогинеть (logoff) всех пользователей со статусом disconnect со всех серверов windows в domain.
- Как завершить сессию на всех серверах в локальной сети.