Support for ACT 5.5 with the ACT Connector

TipMicrosoft released a new version of ACT, version 5.5. This version changed the database schema which prevents configuring the ACT database from the ACT Connector administrator console. If you upgrade an existing ACT installation to 5.5 which has already been configured in the ACT connector, no additional steps are required.

Using this documented workaround ACT 5.5 is supported by Microsoft with the System Center Configuration Manager 2007 ACT Connector.

Symptoms

You will see the following error when attempting to configure your ACT database:

Cannot connect to SERVERNAME.

[-2146232060] Invalid object name ‘ACT_Databases’.

An update will not be released to fix this issue at this time, but the following workaround is available:

Workaround

The following script can be used to configure ACT connector to work with ACT 5.5 install.

Syntax

ActConfig.vbs [Server] [Site code] [ACT Server] [ACT database] {Machine Account}

  • [Server] – Name of server where the SMS provider is installed
  • [Site Code] – Three letter side code of ConfigMgr server where ACT Connector is installed
  • [ACT Server] – Name of SQL server where ACT is installed
  • [ACT Database] – Name of ACT database on SQL server (set during ACT install)
  • {Machine Account} – Optional parameter. If the ACT is installed on different server than the ACT Connector, then provide the machine account name the ACTC provider runs under (domain\machinaccount$) where the machine account name is the ConfigMgr server where the ACT Connector is installed.

ActConfig.vbs

Server = Wscript.Arguments.Item(0)
SiteCode = Wscript.Arguments.Item(1)
ActServer = Wscript.Arguments.Item(2)
ActDatabase = Wscript.Arguments.Item(3)

Set objWMIService = GetObject(“winmgmts:{impersonationLevel=impersonate}!\\” & Server & “\root\sms\site_” & SiteCode)
Set wbemObjectSet = objWMIService.InstancesOf(“SMS_ActConfig”)

‘domain\smsserver$
If LCase(Server) = LCase(ActServer) Then
MachineAcct = “”
Else
MachineAcct = Wscript.Arguments.Item(4)
End If
For Each wbemObject In wbemObjectSet
wbemObject.Server = ActServer
wbemObject.Database = ActDatabase
wbemObject.Put_
If MachineAcct = “” Then
wbemObject.AddLinkedServer ActServer, ActDatabase
Else
wbemObject.AddLinkedServer ActServer, ActDatabase, MachineAcct
End If
Next

Levi Stevens | Program Manager