954,174 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

remote system

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

wani_raj
Newbie Poster
7 posts since Jul 2005
Reputation Points: 10
Solved Threads: 0
 
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".

Sauce
Junior Poster in Training
55 posts since Jul 2005
Reputation Points: 10
Solved Threads: 0
 
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.

Alvein
Junior Poster
104 posts since Jul 2005
Reputation Points: 12
Solved Threads: 4
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You