SCCM 2007 ACT Connector Error “-2146232060”

by Thorsten Christoffers on 11/21/2009 | 0 Comments | 2,286 Views

Nun fangen langsam die ersten Projekte mit dem neuen Client Betriebssystem Windows 7 an. Da die meisten Kunden schon ein Betriebssystem haben, werden die meisten Projekte “Migrationsprojekte”. Am Anfang eines solchen Projektes, steht dann die Analyse der vorhandenen Infrastruktur im Vordergrund. Ein besonderes Augenmerk liegt hierbei auf der Kompatibilität der Applikationen. Besonders wenn man bedenkt, dass sehr viele Kunden Windows Vista übersprungen haben. Der Schritt von Windows XP zu Windows 7 birgt hierbei doch ein paar Stolperfallen.

Gut das es für die Bewertung von Applikationen das “Microsoft Application Compatibility Toolkit” gibt. In der Version 5.5 wird auch schon Windows 7 unterstützt. Mit diesem Tool kann man seine Clientsysteme auswerten  und gegen eine Microsoft Datenbank verifizieren lassen. Somit bekommt man relativ schnell einen ersten Überblick über seine Clientlandschaft.

Im SCCM 2007 gibt es einen Connector zu der ACT Datenbank. Nur leider ist der Wizard im SCCM 2007 nicht kompatibel zu dieser neuen ACT Version.

ACT_Connector1

Wenn man versucht die Verbindung zu einer ACT Datenbank in der Version 5.5 herzustellen, erhält man nur die Fehlermeldung:

Cannot connect to <databaseserver>

[-2146232060] Invalid object name ‘ACT_Databases’.

error_connect

Laut Microsoft wird es hierzu auch kein Hotfix geben. Aber zum Glück gibt es einen Workaround um die Verbindung herzustellen. Folgendes VB Script muss mit den passenden Parametern aufgerufen werden:

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
MachienAcct = ""
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

Die folgenden Parameter müssen übergeben werden:

Syntax

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

  • [Server] – Name of ConfigMgr server where ACT Connector 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.

Das ganze sieht dann wie folgt aus:

syntaxt

Danach ist der Datenbankserver und die ACT Datenbank im ACT Connector auch eingetragen.

right_config

Nun werden z.B. auch in der Homepage des ACT Connectors die gesammelten Applikationen angezeigt.

right_config_HP

+++ Profile Migrator 2 - Ein neuer Desktop, ein frisches Benutzerprofile und alle bewährten Einstellungen und Daten. Jetzt kostenlos und unbefristet testen!

Microsoft Competence Blog

Application Infrastructure mit Microsoft Technologien ist ein wichtiges Fokusthema der sepago. Wir haben langjährige Projekterfahrung, sind neugierig auf neue Technologien und möchten diese bis in letzte Detail verstehen. Die Competence Blogs berichten davon.

RSS-FeedAlle Artikel des Competence Blogs abonnieren.

 

Über den Autor

Bild von thorsten
Thorsten Christoffers
Consultant
Blogs about System Center … deep inside

Alle Artikel des Bloggers

PM_Werbung_Free_Trial