Afrazier provavelmente está no caminho certo. Você pode testar isso usando o comando runas no prompt de comando e testar a execução do arquivo em lotes com a mesma conta que o serviço usa. Este seria um teste muito melhor do que simplesmente executar o arquivo em lotes a partir do prompt de comando em sua conta de usuário ou administrador.
O comando seria algo como isto:
C: \ > runas / user: DOMAIN \ service_acct "scheduled.bat"
Eu também tentaria substituir o comando something.exe real para o arquivo em lote e ver se há alguma saída diferente, por exemplo, C: \ > runas / user: DOMÍNIO \ service_acct "algo.exe -o D: \ nome_do_arquivo.xlsm C: \ nome_do_arquivo.xlsm refresh_pivot"
Isso pode lhe dar uma melhor compreensão do que está acontecendo. Se um erro de acesso negado acontecer, então é definitivamente uma permissão. Você pode tentar apenas digitar runas no prompt para ver outras opções também.