is it possible to write a program which will shutdown the remote systme in c?

is it possible to write a program which will shutdown the remote systme in c?

Of course its possible. Depends on what way you want to do it and if you have access to install an application on the before mentioned "remote system".

is it possible to write a program which will shutdown the remote systme in c?

Please try,

BOOL RemoteShutdown(LPSTR szMachine,LPSTR szMessage,DWORD dwTimeout,BOOL bForce,BOOL bReboot) {
BOOL bRS=FALSE;
HANDLE hToken;
TOKEN_PRIVILEGES tpvPrivileges;
  if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
    if(LookupPrivilegeValue(NULL,SE_REMOTE_SHUTDOWN_NAME,&(tpvPrivileges.Privileges[0].Luid))) {
      tpvPrivileges.PrivilegeCount=1;
      tpvPrivileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
      if(AdjustTokenPrivileges(hToken,FALSE,&tpvPrivileges,sizeof(TOKEN_PRIVILEGES),NULL,NULL))
        bRS=InitiateSystemShutdown(szMachine,szMessage,dwTimeout,bForce,bReboot);
      }
  return(bRS);
}

Tested locally. I Don't have a network to try a working case.

szMachine: either name or IP should work.
szMessage*: some blah's for remote user to be aware of your action.
dwTimeout*: how many seconds to show your blah's.
bForce: close all applications with no confirmation.
bReboot: follow shutdown with a restart.

*(NULL,0): inmediate shutdown.

RemoteShutdown() returns TRUE on success.

This article has been dead for over six months. Start a new discussion instead.