Hola, pues la forma más sencilla para apagar una pc remota, es que ella misma se apague no que la apague otra máquina, esto se consigue con aplicación cliente servidor
El servidor será el que mande la orden de apagar.
por ejemplo cuando la aplicación cliente esté conectada con la aplicación servidor, el servidor manda lo siguiente:
winsock1.senddata "apagate"
y el cliente al recibirlo:
dim datos as string
winsock1.getdata datos
if datos="apagate" then
funcion de apagar()
endif
Busca información sobre el control winsock