Un cliente ha paciosamente giocato con i permessi sulle cartelle pubbliche del suo Exchange 2003 (installato sul DC!) e subito dopo è arrivata la chiamata superallarmata che "non si vedono più le cartelle pubbliche, neanche sul gestore di sistema di Exchange"... grazie al c...ielo ho tempo di darci un occhio stamattina :)
Nel gestore di sistema noto che le "Cartelle" sono vuote:
Preoccupato noto anche che nel primo gruppo di archiviazione il database delle cartelle pubbliche è disinstallato:
Tentando di installarlo (tasto destro sul db e poi "installa archivio") si ottiene un errore: "The store could not be mounted because the Active Directory information was not replicated yet. You can either: press Cancel and mount store later from its context menu or, press Retry to let Exchange System Manager keep trying to mount store for you." legato alla replica di Active Directory (!?).
Se si “ritenta”, l'errore conseguente è "The Microsoft Exchange Information Store service could not find the specified object. ID no:c1041722".
Nell'application log della macchina vengono loggati l'eventid 8197:
Errore durante l'inizializzazione della sessione per la macchina virtuale NOMESERVER. Numero di errore: 0x8004011d. Assicurarsi che l'Archivio di Microsoft Exchange sia in esecuzione.
particolarmente criptico; e l'event id 9519:
Errore 0x8004010f durante l'avvio del database "Primo gruppo di archiviazione\GUID" nell'Archivio informazioni di Microsoft Exchange.

Compatibilmente con la kb Microsoft http://support.microsoft.com/kb/823017 il problema può comparire se sulla radice delle cartelle pubbliche viene vietato l'accesso al gruppo Everyone.
A questo punto ovviamente le cartelle pubbliche non sono più visibili dal gestore del sistema, quindi il problema deve essere risolto con un diverso strumento.
Innanzitutto per verificare che il problema sia esattamente quello qui riscontrato è sufficiente eseguire dal prompt dei comandi:
DSACLS "CN=Public Folders,CN=Folder Hierarchies,CN=Primo gruppo amministrativo,CN=Administrative Groups,CN=Prima organizzazione,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=NOMEROOTDOMINIO,DC=local" > c:\PfPerms.txt
Nel file risultante verificare che sia presente una riga in cui compare DENY associato al gruppo Everyone:
Deny Everyone FULL CONTROL
Se è così sarà sufficiente eseguire, sempre dal prompt, il comando:
DSACLS "CN=Public Folders,CN=Folder Hierarchies,CN=Primo gruppo amministrativo,CN=Administrative Groups,CN=Prima organizzazione,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=NOMEROOTDOMINIO,DC=local" /I:T /R EVERYONE
Rilanciando il gestore del sistema è ora possibile montare il database e quindi rivedere e maneggiare (magari con più attenzione) i permessi sulle cartelle pubbliche.