Mi è capitato un messaggio di errore davvero strano durante l'installazione di FEP 2010 presso un cliente. Il messaggio di errore è il seguente:

MSI (s) (74!8C) [15:46:25:441]: Product: Microsoft Forefront Endpoint Protection 2010 Reporting -- Error 26204.Error -2147217900: failed to execute SQL string, error detail: General product error: "Found an existing account with name = Dominio\ServerSccm$ but with an SID that does not match the windows account with that name", SQL key: SQL.Script.SetFepServiceAccount SQL string: EXEC spAN_Infra_SetFepServiceAccount 0x0105000000000005150000002e424a4fe343572281087118b91c0000

Dopo vari tentativi ed indagini ho scoperto il motivo dell'errore:

Il cliente aveva il DB di SCCM separato su un altro server SQL, ed in passato, aveva avuto un problema allo storage, nella SAN, e tante delle loro macchine, incluso il server SCCM si era perso. Quindi durante il recupero dal disastro, il cliente aveva introdotto nel dominio un nuovo server SCCM con lo stesso nome. Questa soluzione ha funzionato (o almeno così pare) fino all'introduzione di FEP 2010.

L’installazione di FEP 2010 prevede la modifica e l’aggiunta di tabelle al DB di SQL. Durante l’installazione e nel caso il DB SQL si trovasse su un server remoto, il setup di FEP 2010 utilizza l’account macchina di SCCM per collegarsi al server SQL per fare le modifiche. Ma l’account del server SCCM presente nel DB del server SQL si riferisce all’account vecchio del server SCCM defunto, e il setup di FEP sta utilizzando l’account dell’attuale server SCCM che ha lo stesso nome del vecchio server ma evidentemente un SID nuovo, e di conseguenza il messaggio di errore citato sopra.

La soluzione è stata la cancellazione dell’account macchina vecchio del server SCCM dal server SQL e l’inserimento dell’account attuale utilizzando semplicemente la console SQL Management Studio.