Exchange 2010/2013: Es wurden einige Einträge in der Offlineadressliste vom OALGen ausgelassen. (ID 9327, 9323)

Der Fehler (9327, 9323 Offlineadressliste) findet sich häufig im Eventlog des Exchange Servers der das Offline Adressbuch generiert:

MSExchangeSA
9327

Es wurden einige Einträge in der Offlineadressliste „\Globale Adressliste“ von OALGen ausgelassen. Um festzustellen, welche Einträge betroffen sind, muss die Ereignisprotokollierung für den Offlineadress-Generator mindestens auf „Mittel“ festgelegt sein.
– \Default Offline Adressbuch

Offlineadressliste

Um festzustellen was die Warnung verursacht muss das Diagnose Level angehoben werden, in einigen Fällen taucht dann diese Meldung als Verursacher auf:

MSExchangeSA
9323

Eintrag ‚Benutzer‘ weist ungültige oder abgelaufene E-Mail-Zertifikate auf. Diese Zertifikate werden nicht in die Offlineadressliste für ‚\Globale Adressliste‘ aufgenommen.
– \Default Offline Adressbuch

2

Ursache sind also abgelaufene Zertifikate die im Active Directory veröffentlicht wurden, jetzt kann man natürlich jeden User der angemeckert wird durchgehen und die entsprechenden Zertifikate löschen, oder man verwendet das Script welches ich erstellt habe.

3

Um das Script auszuführen werden die Quest Active Directory Tools benötigt, die Tools können hier kostenlos runtergeladen werden:

http://www.quest.com/powershell/activeroles-server.aspx

außerdem muss die Exchange Management Shell auf dem Rechner installiert sein, der das Script ausführt.

Das Script erhöht das Diagnoselevel und startet dann eine Generierung des Offline Adressbuchs. Dann sucht es alle betroffenen Benutzer und entfernt die ungültigen Zertifikate, wenn gewünscht.

Grundsätzlich sollte das Script auch mit Exchange 2013 funktionieren, das habe ich allerdings noch nicht getestet.

Das Script gibt es hier zum Download:

[wpdm_file id=6]

7 thoughts on “Exchange 2010/2013: Es wurden einige Einträge in der Offlineadressliste vom OALGen ausgelassen. (ID 9327, 9323)”

  1. Hallo Frank,
    also auch in der QuestShell bekomme ich nur Fehler:
    Set-EventLogLevel : The Event Source ‚MSExchangeSA‘ was not found.
    At C:\Service\Clean-ExpiredCertificates.ps1:23 char:13
    + $loglevel = Set-EventLogLevel -Identity $generator -level medium
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidData: (\MSExchangeSA\OAL Generator:ECIdParameter) [Set-EventLogLevel], DataSource
    OperationException
    + FullyQualifiedErrorId : [Server=APP006,RequestId=b02d07ba-1d13-4782-b1e9-a2224952549a,TimeStamp=19.12.2018
    12:05:13] [FailureCategory=Cmdlet-DataSourceOperationException] C10D6994,Microsoft.Exchange.Management.EventLogTas
    ks.SetEventLogLevel

    Starte OAB Generierung auf Server

    Warte bis das OAB erzeugt wurde
    Get-EventLog : Cannot validate argument on parameter ‚ComputerName‘. The argument is null or empty. Provide an
    argument that is not null or empty, and then try the command again.
    At C:\Service\Clean-ExpiredCertificates.ps1:31 char:44
    + $checkevent = Get-EventLog -ComputerName $oabserver -LogName Applic …
    + ~~~~~~~~~~
    + CategoryInfo : InvalidData: (:) [Get-EventLog], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.GetEventLogCommand

    Hast du eine Idee warum das so sein mag?

    Vielen Dank

    Reply
  2. Hallo Frank,

    ich erhalte diese Meldungen:

    Get-EventLog : Keine Übereinstimmungen gefunden.
    Bei C:\users\xxxxxxxGLOBAL\desktop\Clean-ExpiredCertificates.ps1:50 Zeichen:24
    + $events = Get-EventLog <<<< -ComputerName $oabserver -LogName Application -InstanceId 2147492971 -after $now
    + CategoryInfo : ObjectNotFound: (:) [Get-EventLog], ArgumentException
    + FullyQualifiedErrorId : GetEventLogNoEntriesFound,Microsoft.PowerShell.Commands.GetEventLogCommand

    In einem NULL-Array kann kein Index erstellt werden.
    Bei C:\users\xxxxxxxxxGLOBAL\desktop\Clean-ExpiredCertificates.ps1:53 Zeichen:36
    + $user = $event.ReplacementStrings[ <<<< 0]
    + CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

    Get-QADUser : Invalid identity
    Bei C:\users\xxxxxxxGLOBAL\desktop\Clean-ExpiredCertificates.ps1:54 Zeichen:29
    + $expiredcerts = Get-QADUser <<<< "$user" | Get-QADCertificate -Valid:$false
    + CategoryInfo : NotSpecified: (:) [Get-QADUser], Exception
    + FullyQualifiedErrorId : Quest.ActiveRoles.ArsPowerShellSnapIn.Powershell.Cmdlets.GetUserCmdlet

    Reply
  3. Guten Morgen,

    nettes Tool was sicherlich hilfreich ist, jedoch erhalte ich folgende Fehler nach „OAB Generierung ist abgeschlossen [in grün]“:

    Get-EventLog : Keine Übereinstimmungen gefunden.
    …..

    [ : In einem NULL-Array kann kein Index erstellt werden.
    ….

    Get-QADUser : Die Benennung „Get-QADUser“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder
    es ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern
    halten), und wiederholen Sie den Vorgang. …..

    Irgend eine Idee?

    Reply
    • Hallo,

      Du musst wie im Artikel beschrieben die Quest Tools runterlaufen und installieren, dann das Script aus der Quest Shell ausführen.

      Gruß, Frank

      Reply

Leave a Comment