Por que o svn procura por credenciais em cache no lugar errado quando executado como uma tarefa agendada?

1

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

    
por josges 17.02.2016 / 16:42

0 respostas