No, non è una cosa impossibile, ovvio che più roba fa questo sistema maggiori sono i rischi di bloccare la sequenza delle operazioni.
Comunque sia in te realizzerei due script separati, il primo che arriva fino al login e il secondo che effettua le operazioni successive, ti semplifichi sicuramente la gestione.
Comunque sia, in base a quello che mi hai detto, come fai a diversificare il fatto che sia stato l'utente a disconnettersi rispetto a quando lo fa lo script?
Il problema che mi citavi prima lo avresti lo stesso.
Potresti usare come si dice in gergo tecnico un "accrocchio"
e farti un semaforo.
Quando lo script, tira giù le applicazioni e appena prima del reboot, scrivi l'informazione su file di testo.
Quando nel pc viene fatto il login, col sistema dei criteri di gruppo che ti ho spiegato, parte lo script che prima di eseguire le operazioni per cui è stato realizzato, si legge il file "semaforo" e capisce se è il caso di continuare o terminare l'esecuzione.