Monday, 25 August 2014
8/25/2014 08:54:00 pm 0

Common PowerShell Virtual Directory issues with Exchange Management tools:

The error “500 – Internal Server Error” is a common error that you can have to face while working with Exchange 2010 Server.

This problem occurs:
  • When you start the Exchange Management
  • Attempt to connect the Exchange 2010 Server remotely using PowerShell
This problem indicates that “There is a problem with the resource you are looking for, and it cannot be displayed.”

You can also face any of the following errors:




The above errors are caused if the PowerShell virtual directory configuration settings aren’t done properly on the server.

Resolution method:

If the above issue has been occurred on the systems due to Exchange Server Analyzer Tool then apply the following resolution method to fix the issue.

Exchange Server Analyzer Tool: This tools is available as a free download:

It is used to analyze the server data such as: information related to configuration issues, potential problems, and non default product settings. These reports are prepared automatically by the tool and help you analyze the data in a better way.

When you run Exchange Management Tools in Exchange Server 2010, then there are chances that you can have to face the above error or other related issues. If you use the Microsoft Exchange Server Best Practices Analyzer tool that it checks the PowerShell Virtual Directory configuration and other related settings and thus, you can prevent the above issue.
Firstly, verify the following components by using the Analyzer tool 
  • Locate and verify that the kerbauth.dll file exists at the location specified in the applicationHost.config file.
  • The PowerShell Virtual Directory should be using port 80 and its bound to 'Default Web Site'
  • In IIS, check that the “Require SSL” option for the PowerShell Virtual Directory has been configured or not.
  • The location of the kerbauth.dll file must be C:\Program Files\Microsoft\Exchange Server\v14\Bin\kerbauth.dll and specified there as a Native Module
  • If some the components described haven’t been configured properly then user have to face the error “500 – Internal Server Error” while using the Exchange Management Tools.
Kerberos authentication is used by PowerShell for verifying a remote computer connection.
A native module is used by the IIS for applying Kerberos authentication check on a remote server. First it loads the module in the virtual directory. While using Exchange Management Tools, in the following two scenarios you can cause an error:

•    kerbauth.dll has been used as a Managed module instead of as a native module
•    or if the module file has been loaded at website level
In the above mentioned scenarios the following error message will be prompted:

To resolve the Kerberos configuration issues, follow the given steps:

1.    Run Internet Information Services (IIS) Manager.
2.    Go to Connections> Default Web Site> PowerShell.
3.    Go to the /PowerShell Home pane, double-click Modules and ensure that Kerbauth is a native module
4.    Next, ensure that the path of Kerbauth.dll file is correct.
Location of the file is C:\Program Files\Microsoft\Exchange Server\v14\Bin\kerbauth.dll.
5.    The kerbauth.dll should not be loaded at website level, to check it follow the given steps:

•    Go to Connections > Modules
•    Double click Modules.  Select the option to Configure Native Modules in the Actions pane.
•    Kerbauth module should be registered as a native module. If you couldn’t find Kerbauth in the Configure Native Modules dialog box, you need to register it.
•    To register it, simply open Register Native Module dialog box, enter the details (i.e.  name and path) of the Kerbauth module.  Click OK.
•    To disable Kerbauh Deselct the checkbox corresponding to Kerbauth.
•    Click OK.

The ExchangeInstallPath variable should be added at the System Properties> Environment variables otherwise, following error will prompt while using Exchange Management Tools:


To resolve this issue, follow these steps:

•    Go to System Properties> Environment variables> System variables.
•    Add ExchangeInstallPath variable with value C:\Program Files\Microsoft\Exchange Server\V14\
•    After setting the ExchangeInstallPath variable, you need to check the path of PowerShell Virtual Directory in IIS
•    Start IIS. Expand “Default Web Site”> “PowerShell”
•    Go to Actions > Basic Setting> Edit Application. Ensure that the mentioned path for PowerShell Virtual Directory is correct or not. It must be as follows: C:\Program Files\Microsoft\Exchange Server\v14\ClientAccess\Powershell
•    Click OK and exit

If the Require SSL option for PowerShell Virtual Directory has been set Exchange then the following error will occur:


Management Tools connects over port 80. The reason behind the error is that if the Require SSL Exchange Management Tools tries to connect on port 443 instead of on port 80 option. 

Follow the given steps to fix the issue:

1.    Open IIS Manager.
2.    Go to Connections > Default Web Site> PowerShell. Open SSL Settings page.
3.    Unckeck the checkbox Require SSL.
4.    Finally click Apply to implement the changes.

I hope the article will prove helpful for those who are facing any of the above errors. Comments and feedback are welcome!


Post a Comment