Как программно добавить учетные данные Windows в диспетчер учетных данных в Windows?

Я просмотрел выбранный ответ на этот вопрос Получить учетные данные из хранилища учетных данных Windows с помощью C#, который использует пакет NuGet CredentialManagement для получения и установки учетных данных в Windows.

Пакет управления учетными данными — это оболочка для API управления учетными данными Windows, которая поддерживает как старый, так и новый стиль пользовательского интерфейса.

Таким образом я смог установить новые учетные данные, однако они были установлены как Общие учетные данные.

public static bool SetCredentials(
     string target, string username, string password, PersistanceType persistenceType)
    {
        return new Credential
        {
            Target = target,
            Username = username,
            Password = password,
            PersistanceType = persistenceType
        }.Save();
    }

Согласно этому, не менее 4 различных типов учетных данных, которые может использовать диспетчер учетных данных Windows:

  • Учетные данные Windows
  • Учетные данные на основе сертификатов
  • Общие учетные данные
  • Веб-учетные данные

Учетные данные, которые мне нужно установить, предназначены для доступа к определенному локальному веб-серверу, и когда я добавляю их вручную как Учетные данные Windows, они работают, когда они добавляются как Общие учетные данные. strong> приложением или мной, они не работают.

введите здесь описание изображения

Мне не удалось найти достаточно информации об этом здесь, поэтому мне нужно знать, как чтобы добавить учетные данные Windows в диспетчер учетных данных Windows с помощью этого пакета или любым другим способом, который можно сделать программно.

ОБНОВЛЕНИЕ: мне удалось решить мою проблему, сделав это так, как показано в этом вопросе: C# с использованием CredWrite для доступа к C$. Однако, поскольку я не хотел отвечать на то же самое и здесь, я оставлю вопрос открытым на случай, если кто-то знает, как это сделать по-другому, иначе я проголосую за его закрытие.

ОБНОВЛЕНИЕ 2: хотя к моменту публикации предыдущего обновления решение, которое было найдено тогда, работало, сейчас оно не работает. Поэтому я все еще ищу способ полностью решить эту проблему. Я уверен, что предыдущая ссылка все еще может быть полезна для кого-то еще.


person user1676874    schedule 28.02.2018    source источник