Já experimentou o comando sc
? Questão semelhante
Ao invés de pular através de arcos de execução administrativa, que tal você ter PHP escrito em um arquivo, um arquivo físico, e ter um programa separado , rodando com direitos Administrativos, disparando o comando net stop
? Isso não apenas garante a execução, mas também garante segurança. Para melhor confiabilidade, você pode ter um aplicativo VB.NET rápido com um Timer
para verificar o arquivo a cada x segundos, mas tenho certeza que você pode usar um arquivo de lote em execução também, em um piscar de olhos. Mas com o VB.NET você pode executar o processo em segundo plano em seu próprio segmento e garantir que ele continue em execução.
Espero que isso lance uma luz.