[System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8 # Устанавливаем политику выполнения Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force # Получаем список всех сохраненных учетных данных $credList = cmdkey /list # Задаем имя цели для поиска $targetName = "git.pgk.alspio.com" # Ищем в списке строку, содержащую нужное имя цели $credentialToDelete = $credList | Where-Object { $_ -like "*Target:*" -and $_ -like "*$targetName*" } # Проверяем, были ли найдены учетные данные if ($credentialToDelete) { # Извлекаем точное имя цели из найденной строки # Строка имеет формат " Target: git:https://git.pgk.alspio.com" # Убираем " Target: " из начала строки $exactTarget = ($credentialToDelete -split 'Target: ')[1].Trim() Write-Host "Найдены учетные данные для удаления: $exactTarget" -ForegroundColor Yellow # Запускаем команду для удаления учетных данных try { cmdkey /delete:$exactTarget Write-Host "Учетные данные '$exactTarget' успешно удалены." -ForegroundColor Green } catch { Write-Host "Произошла ошибка при удалении учетных данных." -ForegroundColor Red Write-Host $_.Exception.Message } } else { Write-Host "Учетные данные, содержащие '$targetName', не найдены." -ForegroundColor Cyan } # Пауза, чтобы пользователь мог увидеть результат Read-Host "Нажмите Enter для завершения..."