Primeiro, deixe-me sugerir que o que você quer é um script. Um script que (como no seu exemplo) executará algum processo de arquivo / pasta, verifique se eles foram executados, ligue para o instalador do .NET 4 framework, verifique se ele foi instalado, ligue para o seu .msi
e marque que está instalado.
Você não poderá criar algo que aborta etapas futuras se uma etapa anterior falhar, dependendo da ordem / precedência do GPO.
Dito isso, "em qual ordem os meus GPOs se aplicam" é um obstáculo ou pergunta bastante comum que merece resposta, então ... veja Application of Group Policy
.
O grande diferencial é:
If you link more than one GPO to an Active Directory container, the GPO processing order (priority) is as follows: the GPO highest in the Group Policy Object Links list, displayed in the Group Policy page of the Active Directory container’s Properties page, has precedence by default. If you set the No Override option in one or more of the GPOs, the highest GPO that is set to No Override takes precedence.
Ah, mas isso é somente se você tiver um domínio e uma estrutura de UO muito simples. Consulte Order of processing settings
e Group Policy processing and precedence
se você tiver uma configuração mais complicada.
Sim, as coisas ficam simples e pouco rápidas com os GPOs. E domínios.