Я запускаю ежедневный сценарий 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