Se você puder usar o SSH em cada computador - o que eu acho que será um requisito básico para qualquer resposta aqui - você pode fazer o ping um comando dbus
para desligar cada máquina desktop. Talvez seja necessário ajustar as permissões (também mostradas nessa pergunta e suas respostas).
Tudo o que precisamos fazer é fazer um loop para cada computador. Aqui está um exemplo.
for ip in 192.168.0.{10,15,52,62,12}; do ssh user@$ip 'dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop' done
A menos que você tenha configurado a autenticação de chave SSH, você precisará fornecer uma senha para cada iteração. Siga o meu conselho, configure a autenticação baseada em chaves .
E, finalmente, caso você não entenda a sintaxe, 192.168.0.{10,15,52,62,12}
é uma expansão de Bash que será expandida para:
192.168.0.10
192.168.0.15
192.168.0.52
192.168.0.62
192.168.0.12
Você poderia listar IPs completos se quisesse. Não há necessidade de citá-los.