The Windows operating system uses certain services to perform dedicated tasks. One of these services is the “Remote Procedure Call,” also known as RPC. This service is responsible for remote communication of the PC with a server on the network, as well as other applications on the same host computer.
If your PC is trying to communicate with another PC on the network, you may have come across the following error message:
The system cannot log you on due to the following error: The RPC server is unavailable.
Thankfully, this can be fixed with some troubleshooting techniques to bring you back on track to perform your task.
This article gives a brief introduction so that you fully understand what RPC is, and you can then proceed to perform several troubleshooting tasks in the given order to fix the issue.
What is Remote Procedure Call (RPC)?
Remote Procedure Call (RPC) is a protocol that allows Windows components to communicate either with a remote server or between different apps and programs on the same computer. RPC uses dynamic ports to communicate with a server, depending upon the type of service. However, it does still use a primary, static port, with which the initial RPC connection is established. This is TCP port 135.
When a Windows PC, which is the client, attempts to communicate with a server, it requests a dynamic port number on the TCP port 135. The server then responds to the client’s requests and provides an IP address and dynamic port number for the service requested. The client machine then performs all further communication with the service on the provided port.
This occurs during a typical and successful RPC connection. However, if you come across an error as mentioned above, it can be due to several different reasons.
The “RPC Server is unavailable” error can be encountered due to any and all of the following reasons:
- RPC and/or relevant services are not running.
- Incorrect time/time zone settings.
- Domain Name Server (DNS) is unable to resolve the request and may provide an incorrect IP address.
- Firewall is blocking communication.
- Network connectivity issues.
Now that we understand the potential cause of the error, let us show you how to fix it.
Run RPC and Associated Services
One of the causes of an unsuccessful RPC connection is that the RPC or any of the services required for the connection are disabled. Therefore, we need to check if they are enabled and if not, enable them.
Perform the following steps to check and enable the relevant services on a Windows computer:
- Open the Windows Services console by typing in services.msc in the Run box.
- Here, check if the following services are running:
- DCOM Server Process Launcher
- Remote Procedure Call (RPC)
- RPC Endpoint Mapper
- Remote Registry
- TCP/IP NetBIOS Helper
- If one of these services isn’t running, right-click it and then click Properties from the context menu.
- From the Properties window, select Startup type as Automatic, then click Apply and Ok.
- Now right-click on the service again, and click Start from the context menu.
Once all the mentioned services are running, check to see if you encounter the same error message again. If you still do, perform the following troubleshooting methods:
Note: If you are unable to start these services, resort to the last solution given in this post to perform the Windows Registry trick.
Configure Correct Date and Time
Ensure that your system has the correct date and time configuration for a successful RPC connection. Here is how:
- Open the Date and Time settings by typing in timedate.cpl in Run.
- From that window, click Change time zone, and then select the correct time zone in your area. Click OK when done.
- Now back to the Date and Time window, click Change date and time and configure the correct date and time as per your location. Click OK when done.
- Now click Apply and Ok in the Date and Time window to update the changes.
Fix Domain Name Server Issues
If the methods given above have not resolved your issue, then it may be possible that the Domain Name Server (DNS) on your network may not be configured correctly, and thus your machine is unable to communicate with the remote device.
You can rule this out by pinging the remote device by its name. Here is how:
- Open the Command Prompt with administrative privileges.
- Now type in the following command to ping the remote device while replacing RemoteName with the name of the remote server:
- This will now return the IP address of the remote device. Check to see if this is the correct one.
If you find the IP address of the remote device is correct, then the DNS is not the issue, and you can move on to the next section in this post.
However, if you find that the IP address is incorrect, then the problem needs to be fixed.
If your computer is connected to a domain and both the server and the client machines are connected to an Active Directory (AD), you can verify that both of them are using the correct DNS server, which is usually the Domain Controller (DC) itself. If you do not have the right to confirm, consult with your organization’s IT officer.
If the DNS server is also the correct one, you can try re-registering the DNS records by resetting the TCP/IP stack on the client computer. On the server, you can use the ipconfig /registerdns in the Command Prompt to re-register DNS records.
Allow Traffic Through Firewall
It may be possible that the Windows native or a third-party firewall may be blocking remote communication between the client and the server machines for a successful RPC connection. You can check if the firewall is blocking any ports. If so, perform the following steps to allow it:
- Open the firewall configurations in the Control Panel by typing in firewall.cpl in Run.
- From there, click “Allow an app or feature through Windows Defender Firewall” from the left of the window.
- Now check all the boxes in front of Remote Assistance, and then click Ok.
Note: If the option to check the boxes is grayed out, then click Change settings first.
If this does not work for you, you can also temporarily disable Windows Firewall and then try to establish the connection again.
However, if you are using a third-party firewall or security application, then you may need to configure it to allow the RPC service through it or uninstall the tool using dedicated uninstallers.
Check Network Connection
It may be possible that your computer’s network configuration is incorrect which is why it is unable to communicate with the remote server, hence prompting an error message.
Check your network card’s configuration through the following steps:
- Open the Network Connections page in the Control Panel by typing in ncpa.cpl in Run.
- Here, right-click on the network you are using (Wi-Fi or ethernet) and click Properties from the context menu.
- Here, ensure that the boxes next to the following items is checked:
- Now double-click “Internet Protocol Version 4 (TCP/IPv4)” and confirm that the IP address(es) are configured correctly, or that “Obtain an IP address automatically” is selected if your network is running a DHCP server.
- Once done, close the window by clicking Apply and Ok.
Once you are sure that your computer’s network configuration is correct, you can also use PortQuery to confirm that the TCP port 135 is listening. Here is how:
- Download the PortQuery application and extract it.
- Now open Command Prompt with administrative privileges.
- Navigate to the extracted folder from within the Command Prompt using the given cmdlet, while replacing Path witht the complete path of the extracted PortQuery folder:
cd /d <em>Path</em>
- Now use the following command to obtain the status of TCP port 135 on the remote server. Replace IPAddress with the IP address of the remote server:
Portqry.exe -n <em>IP Address </em>-e 135
If the status returns as “listening,” it means that the TCP port 135 is open and your connection is sound.
Enable Relevant Services from Windows Registry
If you are unable to start the relevant services using the method discussed above, or none of these troubleshooting methods have worked to resolve your issue, you can perform the following steps to fix the “RPC server is unavailable” issue.
Misconfiguration of critical values in the system’s registry could be fatal for your operating system. Therefore, we insist that you create a system restore point before proceeding forward with the process.
- Open the Windows Registry Editor by typing in regedit in Run.
- Paste the following in the address bar at the top for quick navigation:
- Here, double-click Start in the right pane and set its Value Data to 2.
- Now paste the following paths one after the other in the address bar (same as in step 2 above) and then set the Value Data of the Start key at each of those locations to 2 (same as in step 3 above).
- Once done, restart your computer for the changes to take effect.
Now check to see if you are able to perform the task that you initially wanted to without seeing the error prompt.
We certainly hope that the above methods to resolve the “RPC server is unavailable” error have been helpful. However, if you still encounter this issue, it may be possible that certain Windows Registry items have been corrupted.
You can try and fix your operating system using the SFC, DISM, and CHKDSK utilities. If that does not work, you may need to perform a fresh installation of your Windows operating system to fix the issue.