На сервере Windows 2012 R2 у нас есть несколько служб Windows, которым необходим доступ к интерфейсу RestFull на удаленном сервере. Интерфейс RestFull на удаленном сервере не разрешает анонимный доступ, поэтому одним из возможных решений этого является добавление учетных данных удаленного сервера в диспетчер учетных данных для учетной записи пользователя, на которой запущена служба Windows. В настоящее время это делается с помощью
cmdkey.exe /add:10.0.0.1 /user:RemoteUser /pass:RemotePass
Эти службы Windows работают под учетной записью локальной системы. Итак, нам нужно бежать cmdkey.exe
под системной учетной записью, чтобы добавить учетные данные в системную учетную запись. Это делается с помощью PSExec.exe -s cmdkey.exe
инструмент командной строки от SysInternals.
Решение работает на Windows 7. Но я не могу заставить его работать на сервере Windows 2012 R2. В 2012 году правильно сохраняется только имя пользователя. Однако пароль хранится неправильно или вообще не сохраняется. Интерфейс RestFull при вызове сообщает Unauthorized (401)
HTTP-ответ, поэтому пароль каким-то образом поврежден.
Есть ли способ заставить системную учетную запись правильно хранить учетные данные, или мы должны попытаться придумать другое решение.