Mi è capitato alcune volte di dover intervire su alcuni sistemi operativi (sia client come Windows XP o Windows Vista, sia server come Windows 2000 Server o 2003) che apparentemente sembravano funzionare correttamente, cioè la macchina si avviava fino alla schermata di logon, dava si un errore di un servizio non avviato, ma permetteva di eseguire la procedura di login e poi... iniziavano le stranezze:
non funzionava il tasto destro del mouse
non si potevano muovere le icone sul desktop
non si potevano vedere gli eventi di sistema
e in alcuni casi addirittura non si vedeva l'elenco dei servizi dalla MMC.
Dopo un'indagine neanche troppo lunga si può scoprire che la causa di tutto ciò è il mancato avvio del servizio Remote Procedure Call (RPC). Ci possono essere svariate cause per le quali il servizio RPC non riesce a partire, alcune delle quali illustrate nel seguente articolo del KB:
http://support.microsoft.com/kb/830071
altre che ho tristemente dovuto scoprire da solo, per esempio che in un sistema compromesso da un'intrusione esterna c'era un servizio FTP mascherato da "DHCP service" che aveva impostato una chiave di registro nel percorso:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs\
che impostava una dipendenza da un fantomatico servizio SSL al servizio RPC: in questo modo, poichè il servizio RPC non trovava il servizio SSL non si avviava e di conseguenza non partivano tutti i servizi a lui collegati. E' bastato ovviamente cancellare la chiave che settava la dipendenza e tutto si è risolto con un semplice riavvio. Se avete dubbi su chiavi di registro di servizi un buon metodo è quello di confrontare le chiavi con quelle di un server identico (per sistema operativo).