Existem algumas respostas existentes sobre como fazer isso em C #: link e link entre eles. O segundo desses links fará com que você escreva um pacote mágico wake-on-lan em C #.
No entanto, há um problema com a configuração como você descreveu, já que você precisa estar na rede local para enviar o pacote wake-on com sucesso. Se você tiver acesso a outra máquina em sua rede de trabalho (por exemplo, se você compartilhar a LAN do escritório com um servidor da Web), poderá usar essa máquina como um intermediário.