SSPR Registration Failing on some Clients

I deployed the SSPR client on 1000's of workstations.  However a handful of users have never been able to get through the registration process successfully.  That being that they can access the SSPR Web registration via browser and complete the task.  But when they attempt to login to their wkst every morning the SSPR client gives them the "Could not Connect to Password Rest Service, wait one minute and try again"

I turned on detail logging and this is the output - any advice would be appreciated

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>0</EventID>
<Type>3</Type>
<SubType Name="Verbose">0</SubType>
<Level>16</Level>
<TimeCreated SystemTime="2015-01-14T20:39:54.4138443Z" />
<Source Name="Microsoft.ResourceManagement" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="PwdMgmtProxy" ProcessID="1728" ThreadID="4" />
<Channel/>
<Computer>PKS363338</Computer>
</System>
<ApplicationData>Creating NamedPipeServer ACLs.<System.Diagnostics xmlns="http://schemas.microsoft.com/2004/08/System.Diagnostics">
<LogicalOperationStack>
</LogicalOperationStack>
<Timestamp>91494441</Timestamp>
<Callstack>   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)&#xD;&#xA;   at System.Environment.get_StackTrace()&#xD;&#xA;   at System.Diagnostics.TraceEventCache.get_Callstack()&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.WriteFooter(TraceEventCache eventCache)&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at Microsoft.IdentityManagement.Logging.IdentityManagementTraceSource.ReportTrace(TraceEventType traceEventType, Int32 eventId, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.WriteTraceMessage(TraceEventType eventType, EventIdentifier identifier, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.TraceMessage(String msg, String source)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.TraceMessage(String msg)&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.CreateServerPipeACL()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.InitializeRegistryConstants()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.DoStart()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.OnStart(String[] args)&#xD;&#xA;   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)&#xD;&#xA;   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)</Callstack>
</System.Diagnostics>
</ApplicationData>
</E2ETraceEvent>
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>3</EventID>
<Type>3</Type>
<SubType Name="Error">0</SubType>
<Level>2</Level>
<TimeCreated SystemTime="2015-01-14T20:39:55.4746462Z" />
<Source Name="Microsoft.ResourceManagement" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="PwdMgmtProxy" ProcessID="1728" ThreadID="4" />
<Channel/>
<Computer>PKS363338</Computer>
</System>
<ApplicationData>PwdMgmtProxy: System.ComponentModel.Win32Exception: Could not locate the required registry key, SOFTWARE\Microsoft\Forefront Identity Manager\2010\Extensions\GatePlugins.&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.InitializeRegistryConstants()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.DoStart()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.OnStart(String[] args)<System.Diagnostics xmlns="http://schemas.microsoft.com/2004/08/System.Diagnostics">
<LogicalOperationStack>
</LogicalOperationStack>
<Timestamp>94554369</Timestamp>
<Callstack>   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)&#xD;&#xA;   at System.Environment.get_StackTrace()&#xD;&#xA;   at System.Diagnostics.TraceEventCache.get_Callstack()&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.WriteFooter(TraceEventCache eventCache)&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at Microsoft.IdentityManagement.Logging.IdentityManagementTraceSource.ReportTrace(TraceEventType traceEventType, Int32 eventId, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.WriteTraceMessage(TraceEventType eventType, EventIdentifier identifier, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.WriteTraceMessage(TraceEventType eventType, EventIdentifier identifier, String format, Object[] arguments)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.LogError(String formatString, Object[] arguments)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.ReportError(Exception exception)&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.OnStart(String[] args)&#xD;&#xA;   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)&#xD;&#xA;   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)</Callstack>
</System.Diagnostics>
</ApplicationData>
</E2ETraceEvent>
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>0</EventID>
<Type>3</Type>
<SubType Name="Verbose">0</SubType>
<Level>16</Level>
<TimeCreated SystemTime="2015-01-14T20:42:28.6756419Z" />
<Source Name="Microsoft.ResourceManagement" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="PwdMgmtProxy" ProcessID="1720" ThreadID="4" />
<Channel/>
<Computer>PKS363338</Computer>
</System>
<ApplicationData>Creating NamedPipeServer ACLs.<System.Diagnostics xmlns="http://schemas.microsoft.com/2004/08/System.Diagnostics">
<LogicalOperationStack>
</LogicalOperationStack>
<Timestamp>83343725</Timestamp>
<Callstack>   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)&#xD;&#xA;   at System.Environment.get_StackTrace()&#xD;&#xA;   at System.Diagnostics.TraceEventCache.get_Callstack()&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.WriteFooter(TraceEventCache eventCache)&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at Microsoft.IdentityManagement.Logging.IdentityManagementTraceSource.ReportTrace(TraceEventType traceEventType, Int32 eventId, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.WriteTraceMessage(TraceEventType eventType, EventIdentifier identifier, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.TraceMessage(String msg, String source)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.TraceMessage(String msg)&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.CreateServerPipeACL()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.InitializeRegistryConstants()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.DoStart()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.OnStart(String[] args)&#xD;&#xA;   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)&#xD;&#xA;   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)</Callstack>
</System.Diagnostics>
</ApplicationData>
</E2ETraceEvent>
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>3</EventID>
<Type>3</Type>
<SubType Name="Error">0</SubType>
<Level>2</Level>
<TimeCreated SystemTime="2015-01-14T20:42:29.9670440Z" />
<Source Name="Microsoft.ResourceManagement" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="PwdMgmtProxy" ProcessID="1720" ThreadID="4" />
<Channel/>
<Computer>PKS363338</Computer>
</System>
<ApplicationData>PwdMgmtProxy: System.ComponentModel.Win32Exception: Could not locate the required registry key, SOFTWARE\Microsoft\Forefront Identity Manager\2010\Extensions\GatePlugins.&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.InitializeRegistryConstants()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.DoStart()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.OnStart(String[] args)<System.Diagnostics xmlns="http://schemas.microsoft.com/2004/08/System.Diagnostics">
<LogicalOperationStack>
</LogicalOperationStack>
<Timestamp>87488035</Timestamp>
<Callstack>   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)&#xD;&#xA;   at System.Environment.get_StackTrace()&#xD;&#xA;   at System.Diagnostics.TraceEventCache.get_Callstack()&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.WriteFooter(TraceEventCache eventCache)&#xD;&#xA;   at System.Diagnostics.XmlWriterTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)&#xD;&#xA;   at Microsoft.IdentityManagement.Logging.IdentityManagementTraceSource.ReportTrace(TraceEventType traceEventType, Int32 eventId, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.WriteTraceMessage(TraceEventType eventType, EventIdentifier identifier, String message)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.WriteTraceMessage(TraceEventType eventType, EventIdentifier identifier, String format, Object[] arguments)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.LogError(String formatString, Object[] arguments)&#xD;&#xA;   at Microsoft.ResourceManagement.Utilities.LoggingManager.ReportError(Exception exception)&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.OnStart(String[] args)&#xD;&#xA;   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)&#xD;&#xA;   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)&#xD;&#xA;   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)</Callstack>
</System.Diagnostics>
</ApplicationData>
</E2ETraceEvent>

January 15th, 2015 2:10am

Hi,

it occurs by the Forefront Identity Manager Password Reset Client service not being started on the client machine.

Check the SSPR Services

net start FIMPasswordReset from an Administrative Command-Prompt

Open the Services MMC and locate and start the service

Free Windows Admin Tool Kit Click here and download it now
January 15th, 2015 5:30pm

Sridhar:  

Thanks - I have verified that the service was started.  On both the client and server

I have looked into the Registry for the missing Key as noted in Logging.- by comparing them with a functioning client and did not see any omissions.... I wish logging would tell me more explicityl which registry key is missiing. 

<ApplicationData>PwdMgmtProxy: System.ComponentModel.Win32Exception: Could not locate the required registry key, SOFTWARE\Microsoft\Forefront Identity Manager\2010\Extensions\GatePlugins.&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.InitializeRegistryConstants()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.DoStart()&#xD;&#xA;   at Microsoft.IdentityManagement.PasswordReset.PasswordManagementProxy.OnStart(String[] args)<System.Diagnostics xmln

January 15th, 2015 5:55pm

Hi ,

Have you enabled proxy setting in your IE, if so bypass SSPR url. Also it happens for all the end users account, have your tried with FIM admin account.

Hope you have added the SSPR URL in IE trusted sites.

Please share if you have already resolved it.

Free Windows Admin Tool Kit Click here and download it now
January 19th, 2015 4:25pm

Finally identified a solution.  Our techs discovered that by using the following registry change we could get the SSPR client registration process to initiate correctly.  IT enables 64 bit DOT Net code .. which apparently was missing on some of our older workstations.

 
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"Enable64Bit"=dword:00000001


  • Marked as answer by ajmcc 18 hours 1 minutes ago
February 2nd, 2015 12:47pm

Finally identified a solution.  Our techs discovered that by using the following registry change we could get the SSPR client registration process to initiate correctly.  IT enables 64 bit DOT Net code .. which apparently was missing on some of our older workstations.

 
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"Enable64Bit"=dword:00000001


  • Marked as answer by ajmcc Monday, February 02, 2015 5:45 PM
Free Windows Admin Tool Kit Click here and download it now
February 2nd, 2015 8:45pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics