Fejlfinding af System.ServiceModel.FaultException i eADM-lokale klientlogfiler

Denne artikel beskriver, hvordan man løser en almindelig Windows-tilladelsesfejl, der forhindrer den lokale eADM-klient i at skrive oplysninger til Windows-hændelsesviseren, hvilket medfører fejl i dine lokale eADM-logfiler.

Symptom

Du har konfigureret den lokale eADM-klient i dit lokale miljø (et .NET-konsolprogram, der udløses af en planlagt opgave, der kører et PowerShell-script). Synkroniseringsprocessen kører og synkroniserer data uden problemer; der skrives dog ingen oplysninger eller statusopdateringer til Windows-hændelsesviseren.

Ved gennemgang af de lokale eADM-klienters tekstlogfiler (som typisk findes i C:\eADM\ eller dens undermapper), finder du en System.ServiceModel.FaultException fejl.

Årsag

Denne fejl skyldes et problem med brugerrettigheder i forbindelse med Windows-hændelsesloggen på den server, der hoster eADM-klienten:

  • Manglende hændelseskilde: eADM-klientprogrammet forsøger at skrive en post i Windows-hændelsesloggen ved hjælp af bestemte »hændelseskilder« (eAdm og eAdm.Client.Synchronization) som i øjeblikket ikke findes på serveren.

  • Krav om unikt navn: For automatisk at kunne oprette en ny hændelseskilde kræver Windows, at den konto, der udfører handlingen, har læseadgang til alle systemhændelseslogfiler (herunder sikkerheds- og statuslogfiler) for at kunne kontrollere, at det foreslåede kildenavn er unikt.

  • Utilstrækkelige rettigheder til logning: Den dedikerede servicekonto, der kører den planlagte eADM-opgave, har ikke de nødvendige administratorrettigheder til at læse alle systemlogfiler. Derfor blokerer Windows oprettelsen af hændelseskilderne. Mens den primære synkroniseringsproces fortsætter med at køre, mislykkes baggrundslogningsmekanismen, og FaultException registreres i dine lokale tekstlogfiler i stedet for i Hændelsesviseren.

Forudsætninger

  • Administratoradgang til den lokale server, der hoster eADM-klientprogrammet.

Beslutning

Da eADM-servicekontoen har brug for disse hændelseskilder for at kunne logge data i Hændelsesviseren, men ikke har tilladelser til at oprette dem automatisk, skal en serveradministrator oprette dem manuelt eller midlertidigt udvide servicekontoens tilladelser.

Vælg en af følgende metoder til at løse problemet på den server, der hoster eADM-klienten.

Metode 1: Opret begivenhedskilderne manuelt (anbefales)

Dette er den sikreste og mest pålidelige metode. Ved at oprette hændelseskilderne manuelt som administrator vil servicekontoen permanent kunne skrive til dem uden at kræve udvidede rettigheder, hvilket er i overensstemmelse med princippet om mindst mulig adgang.

  1. Log ind på den server, der hoster den lokale eADM-klient.

  2. Åbn PowerShell som administrator.

  3. Kør følgende kommandoer for at oprette de nødvendige poster i applikationsloggen:

PowerShell
New-EventLog -LogName Application -Source "eAdm"
New-EventLog -LogName Application -Source "eAdm.Client.Synchronization"

  1. Kør den planlagte eADM-opgave igen, og kontroller, at synkroniseringshændelserne nu vises korrekt i Windows-hændelsesviseren.

Metode 2: Tildel midlertidige administratorrettigheder

Hvis du foretrækker, at systemet registrerer kilderne automatisk, kan du midlertidigt udvide servicekontos rettigheder for en enkelt kørsel.

  1. Log ind på den server, der hoster den lokale eADM-klient.

  2. Åbn »Computeradministration«, og tilføj den servicekonto, der kører den planlagte eADM-opgave, til den lokale gruppe »Administratorer «.

  3. Åbn Opgavestyring, og start eADM-klientopgaven manuelt. Da servicekontoen nu har administratorrettigheder til at læse alle systemlogfiler, vil den kunne bekræfte, at navnet er unikt, og oprette de nødvendige hændelseskilder.

  4. Fjern servicekontoen fra den lokale gruppe »Administratorer«, så snart opgaven er udført korrekt.

Advarsel: Det er en afgørende sikkerhedsforanstaltning at sikre, at servicekontoen fjernes fra gruppen »Administratorer«, så snart hændelseskilderne er oprettet. Identum anbefaler på det kraftigste, at klienten kører med de mindst mulige rettigheder.


Dette dokument løser et System.ServiceModel.FaultException Dette ses i eADM-klientens tekstlogfiler, når Windows-hændelsesviseren ikke opdateres under en synkronisering. Selve synkroniseringsprocessen mislykkes ikke, men logningsmekanismen blokeres, fordi eADM-tjenestekontoen ikke har de nødvendige administratorrettigheder til automatisk at oprette Windows-hændelseskilderne »eAdm« og »eAdm.Client.Synchronization«. Den anbefalede løsning er at oprette disse hændelseskilder manuelt ved hjælp af en PowerShell-prompt med administratorrettigheder på den server, der hoster klienten.

Senest opdateret: