The server has been rebooted, this hasn't helped.
Other connectors (SCCM, SCOM, Orchestrator) are running successfully.
Using Get-SCSMConnector, I can see my Active Directory connector is listed and enabled.
Using Start-SCSMConnector, I get the same result as starting the syncronization from the console - connector doesn't run and I see the following events logged
Log Name: Operations Manager
Source: Lfx Service
Date: 7/8/2015 7:31:51 AM
Event ID: 3334
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: MySCSMServer
Description:
Data synchronization failed by AD Connector.Importer.ADUsers.ADConnector.5dcb6afa03fd4a81bfc0e3d3b30a650b.:Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.DataConnectorAD.
Exception type:ConnectorException
Exception message:createBatchInfoForRealSource failed . Exception type:TypeLoadException
Exception message:Could not load type 'Microsoft.EnterpriseManagement.WindowsUtility.StringManipulations' from assembly 'Microsoft.EnterpriseManagement.WindowsUtility, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'..
StackTrace: at Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.ActiveDirectoryUtility.bind(DirectoryEntry de)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.ActiveDirectoryUtility.GetWatermark(DirectoryServerSates directoryStates)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.DataConnectorAD.OnCreateBatchInfoForRealSource(SessionBase session, String query, String tableName, String batchIdField, Int32 batchIdType, String watermarkField, Int32 watermarkType,
Byte[] watermark, String connectionString, Int32 batchSize)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.createBatchInfoForRealSource(SessionBase session, Int32 SessionTableId, EnumTableStatus status).
StackTrace: at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.throwConnectorException(String method, String message, Object[] values)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.createBatchInfoForRealSource(SessionBase session, Int32 SessionTableId, EnumTableStatus status)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.PrepareBatchInfo(SessionBase session)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.GetNextBatch(IConnectorSession connectorSession, Boolean batchInfoOnly)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.Datacenter.SessionHost.DataSync()
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Lfx Service" />
<EventID Qualifiers="0">3334</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2015-07-08T06:31:51.000000000Z" />
<EventRecordID>6704124</EventRecordID>
<Channel>Operations Manager</Channel>
<Computer>MySCSMServer</Computer>
<Security />
</System>
<EventData>
<Data>Data synchronization failed by AD Connector.Importer.ADUsers.ADConnector.5dcb6afa03fd4a81bfc0e3d3b30a650b.:Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.DataConnectorAD.
Exception type:ConnectorException
Exception message:createBatchInfoForRealSource failed . Exception type:TypeLoadException
Exception message:Could not load type 'Microsoft.EnterpriseManagement.WindowsUtility.StringManipulations' from assembly 'Microsoft.EnterpriseManagement.WindowsUtility, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'..
StackTrace: at Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.ActiveDirectoryUtility.bind(DirectoryEntry de)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.ActiveDirectoryUtility.GetWatermark(DirectoryServerSates directoryStates)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.AD.DataConnectorAD.OnCreateBatchInfoForRealSource(SessionBase session, String query, String tableName, String batchIdField, Int32 batchIdType, String watermarkField, Int32 watermarkType,
Byte[] watermark, String connectionString, Int32 batchSize)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.createBatchInfoForRealSource(SessionBase session, Int32 SessionTableId, EnumTableStatus status).
StackTrace: at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.throwConnectorException(String method, String message, Object[] values)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.createBatchInfoForRealSource(SessionBase session, Int32 SessionTableId, EnumTableStatus status)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.PrepareBatchInfo(SessionBase session)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.SessionManager.DataProvider.GetNextBatch(IConnectorSession connectorSession, Boolean batchInfoOnly)
at Microsoft.EnterpriseManagement.ServiceManager.Connector.Datacenter.SessionHost.DataSync()</Data>
</EventData>
</Event>
This is followed by identical log entries for ADComputers, ADPrinters, ADGroups, and finally the error in my opening post.