Saturday, September 20, 2008

Windows Remote Procedure Call (RPC) services

Remote procedure call (RPC) is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction. That is, the programmer would write essentially the same code whether the subroutine is local to the executing program, or remote. When the software in question is written using object-oriented principles, RPC may be referred to as remote invocation or remote method invocation
. That is the definition from wikipedia. Microsoft windows OS have this as a service and so many of its services depends on this to run. But what happens when this service is disabled or value being changed?
This is what happened to me, i stupidly changed the log on from default to another account and restarted the machine. When the machine started almost all the services couldn't start nor can i start them manually. I was unable to access shared forlders, tried pinging other machines but it was failing. Ran services.msc from the run command hoping that will help me fixed the problem if i can take it back to its original value, but to my disappointment I couldn't even access the property window to change its value to what it was. I went to google, read so many articles on RPC hoping one of them will tell me how to solve the problem i have. Fortunately i saw this download the changes the registry value from 1 to 2 of the start property of the RPC. Below is the expected result of the tool.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs]
"Start"=dword:00000002
Reading more about the start property i realized that this is not what i want to do. So instead of running the tool i decided to go to the registry, risky though but i had no choice. I did the follow:
  1. run regedit
  2. HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services->RpcSs
  3. Double clicked ObjectName and changed its value to the default "NT Authority\NetworkService".
  4. Clicked ok and restarted the server.
Everything was normal again.

4 comments:

Anastácio Soberbo said...

Hello, I like this blog.
Sorry not write more, but my English is not good.
A hug from Portugal

Anonymous said...

dude thanks for proving beyond a doubt that ur a geek. dont have a clue wat ur talking bout on ur blog. but congrats man keep it up. oh, ur not a uni student anymore.

Asembereng said...

landoh, you will never change for a hundred years. Dude we have alot of catching up to do.. I will probably send you a mail.

Terra Technology said...

perfect!!!! this is cool.. thanks for the knowledge!!!

Learn and teach others is a word of God... keep the light jarjue