дешевле всего купить ИПБ с портом USB
так как остальные варианты крутятся вокруг самодельного/на заказ устройства, детектирующего наличие отсутствия питания в сети 220 и соответственно сигнализирующего об этом по usb
p.s. само простое можно сделать самому на основе обычной электромагнитной реле, одного резистора и любого блока питания на 5-12в + наличии lpt порта в компьютере (софт к нему пишется за десять минут из пяти строчек)
реле подключается к блоку питания, а земля и один из портов данных lpt через резистор подключаются к контактам реле (пока замкнуто реле, сигнал по lpt пойдет - это единичка, разомкнул - ноль), софт читает файл lpt и смотрит как только там не 1 в нужном бите, ждать таймаут и если все еще ноль - вызывать shutdown /h