Назад | Перейти на главную страницу

Почему svn ищет кэшированные учетные данные в неправильном месте при запуске в качестве запланированной задачи?

Я запускаю ежедневный сценарий Powershell через планировщик Windows под учетной записью службы, которая обновляет локальную рабочую копию svn и фиксирует изменения. Клиент svn называется sliksvn и запускается только из командной строки. При запуске вручную сценарий Powershell работает должным образом, а проверка подлинности svn работает с использованием кэшированных учетных данных.

Когда я даю учетной записи службы необходимые права и создаю запланированную задачу в качестве учетной записи службы, все работает нормально. Однако, когда я создаю запланированную задачу, используя свою учетную запись администратора и устанавливаю запуск от имени учетной записи службы, аутентификация svn не выполняется. Я использовал Sysinternals procmon для отслеживания процесса аутентификации и обнаружил, что в этом случае процесс пытается найти учетные данные svn в

C:\Users\Default\AppData\Roaming\Subversion\auth\svn.simple\

(которого не существует) вместо

C:\Users\ServiceAccount\AppData\Roaming\Subversion\auth\svn.simple\

где фактически хранятся кэшированные учетные данные и где они выглядят в успешных случаях.

Почему svn пытается искать кэшированные учетные данные пользователя по умолчанию вместо учетных данных пользователя, выполняющего задачу?

РЕДАКТИРОВАТЬ: Я нашел решение. Это ошибка в планировщике задач Windows: https://support.microsoft.com/en-us/kb/2968540

РЕДАКТИРОВАТЬ: ... который теперь можно исправить (в Server 2012 R2) с помощью этого исправления: https://support.microsoft.com/en-us/kb/3133689