Я пытаюсь получить доступ к / получить имя пользователя и пароль из диспетчера учетных данных Windows, используя Credentialmanagement.dll в моей службе Windows , но я не могу получить / прочитать эти значения, так как возвращается ноль / целевой ключ не существует. но на самом деле цель существует в диспетчере учетных данных. Я могу читать и писать в других приложениях (приложения консоли / WPF), но когда я пытаюсь читать из службы Windows, он дает нулевые значения или целевой ключ не существует.
Я пытался установить службу, предоставив права администратора.
public static string[] GetCredentials(string target) {
target = "MyCredential";
string[] credentials = new string[2];
using (var credential = new Credential()) {
credential.Target = target;
credential.PersistanceType = PersistanceType.LocalComputer;
credential.Type = CredentialType.Generic;
if (credential.Exists())
{
credential.Load();
credentials[0] = credential.Username;
credentials[1] = credential.Password;
Console.WriteLine($"User name : {credential.Username} and password : {credential.Password} ");
return credentials;
} else {
return null;
}
}
}
Приведенный выше код используется для получения данных из диспетчера учетных данных. работает нормально, когда я работаю в Visual Studio , но не работает, когда этот сервис установлен в систему через командную строку.