Eu executo um script Powershell diário através do Windows Scheduler em uma conta de serviço que atualiza uma cópia de trabalho svn local e confirma alterações. O cliente svn é sliksvn e é executado apenas pela linha de comando. Quando executado manualmente, o script Powershell funciona como esperado e a autenticação do svn funciona usando credenciais armazenadas em cache.
Quando dou à conta de serviço os direitos necessários e cria a tarefa agendada como a conta de serviço, tudo funciona bem. No entanto, quando eu crio a tarefa agendada usando minha conta de administrador e defino como conta de serviço, a autenticação do svn falha. Eu usei o procmon Sysinternals para monitorar o processo de autenticação e descobri que, nesse caso, o processo tenta encontrar as credenciais do svn em
C:\Users\Default\AppData\Roaming\Subversion\auth\svn.simple\
(que não existe) em vez de
C:\Users\ServiceAccount\AppData\Roaming\Subversion\auth\svn.simple\
onde as credenciais armazenadas em cache são realmente armazenadas e onde são exibidas nos casos de sucesso.
Por que o svn tenta procurar as credenciais em cache do usuário padrão em vez das do usuário que está executando a tarefa?
EDIT: Eu encontrei a solução. É esse bug no Agendador de Tarefas do Windows: link
EDIT: ... que agora pode ser corrigido (no Server 2012 R2) por esse hotfix: link