Resolvido: Erro 1079 (The account specified for this service is different…) | Lambda3
Escrito por Igor Abade em 24 de agosto de 2016
Sabe quando uma coisa não funciona e assim que você começa a fuçar, começa a puxar outra, e outra, e outra…?
Pois é. Tudo começou com um VHD maior do que devia. E chegou no serviço do Log de Eventos do Windows que não funcionava.
Mas pelo menos agora tudo está funcionando normalmente.
Por conta da nova série de posts sobre controle de legados no TFS, precisei subir uma máquina virtual com Windows 7 x86. Depois de instalar o que precisava e de rodar o Windows Update (quase trezentas atualizações!), me deparei com um problema: Apesar de o guest estar usando apenas 18 GB de espaço em disco, o VHD tinha sido totalmente expandido (consumindo seu máximo de 127 GB).
Guest gastando apenas 18 GB do VHD mas 127 GB no host
Tentei usar a função de Compact do Hyper-V (que remove o espaço livre do disco para reduzir seu consumo no host) mas ele não conseguiu reduzir nada, o que tipicamente indica um disco virtual fragmentado. Para conseguir compactá-lo precisaria, primeiramente, desfragmentar o guest. E é aí que a estória começa a ficar divertida.
Quando tentei rodar o Desfragmentador de Discos no Windows 7 da VM, obtive o seguinte erro:
Disk Defragmenter cannot start because the task scheduler service is not running. Start the task scheduler service and try again.
Esquisito, né? Bom, fui conferir e o serviço do Task Scheduler realmente estava parado. Quando eu tento iniciá-lo manualmente, outro erro:
Windows could not start the Task Scheduler service on Local Computer.
Hum, então tem algum serviço de que o Task Scheduler depende e que não está funcionando. Quais são os serviços de que ele depende?
Lista de serviços de que o Task Scheduler depende
Agora que sei que o Task Scheduler depende de dois serviços (Remote Procedure Call, Windows Event Log), preciso ver se algum deles está parado e não está conseguindo subir. O serviço de RPC estava normal; já o serviço de Log de Eventos do Windows estava com problemas:
Eita! O Log de Eventos não está funcionando!
A mensagem de erros, por incrível que pareça, é bem clara: o Log de Eventos está configurado para usar uma conta diferente de outros serviços que estão rodando dentro do mesmo Host de Serviços. Sabe aquele processo svchost.exe que você vê no Task Manager e não faz ideia de para quê serve? Então, ele é um Host de Serviços, "hospedando" serviços como o Task Scheduler.
Procurando na internet pela mensagem de erro 1079, achei um artigo da Base de Conhecimentos da Microsoft ("KB article") falando sobre o problema, indicando que é um erro conhecido. A solução é trocar a conta de logon do serviço Task Scheduler, mudando de System para LocalService.
Num prompt elevado, execute a seguinte linha de comando:
sc.exe config "eventlog" obj= "NT AUTHORITY\LocalService"
Reinicie o computador e voilà! – tudo de volta ao lugar
(Cross-post de http://www.tshooter.com.br/2016/08/24/resolvido-erro-1079-the-account-specified-for-this-service-is-different/)