Provavelmente você está procurando por um filtro de linha programável (pesquisado no Google, aqui está um , por exemplo). Você precisa de um que possa manipular um comando atrasado.
Dessa forma, você pode desligar o computador (usando um script do PowerShell, por exemplo), com a última ação do script ordenando que a régua de energia seja desligada em minutos n ( n sendo a quantidade de tempo que você acha que levaria seu computador a desligar + um buffer para interrupções inesperadas).
Além disso, há muitos temporizadores simples (para não dizer mais baratos) que podem desligar a eletricidade após n horas - você só precisa ter certeza de que seu computador será desligado antes de acionar (aqui está um da Belkin ).
Disclaimer: I am not affiliated with any of the products mentioned.