Seit in paar Tagen lief meine Dateiversionssicherung nicht mehr. Einschalten war nicht mehr möglich.
Im Eventviewer fand ich folgende Fehlermeldung:

Protokollname: Application

Quelle:        Microsoft-Windows-CAPI2

Datum:         15.01.2015 22:00:54

Ereignis-ID:   513

Aufgabenkategorie:Keine

Ebene:         Fehler

Schlüsselwörter:Klassisch

Beschreibung:

Fehler beim Kryptografiedienst während der Verarbeitung des „OnIdentity()“-Aufrufobjekts „System Writer“.

 

Nach etwas googlen fand ich diesen Forum thread

Auszug daraus:

During backup a VSS process running under NETWORK_SERVICE account calls cryptcatsvc!CSystemWriter::AddLegacyDriverFiles(), which enumerates all the drivers records in Service Control Manager database and tries opening each one of them. , The function fails on MSLLDP record with „Access Denied“ error.

 

Turned out it fails because MSLLDP driver’s security permissions do not allow NETWORK_SERVICE to access the driver record.

 

The binary security descriptor for the record is located here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MsLldp\Security

 

It should be modified, I used SC.EXE and Sysinternals‘ ACCESSCHK.EXE to fix it.

 

The original security descriptor looked like below:

 

>accesschk.exe -c mslldp

mslldp
  RW NT AUTHORITY\SYSTEM
  RW BUILTIN\Administrators
  RW S-1-5-32-549       <- these are server operators
  R  NT SERVICE\NlaSvc

 

No service account is allowed to access MSLLDP driver

 

The security descriptor for the drivers that were processed successfully looked this way:

 

>accesschk.exe -c mup

mup
  RW NT AUTHORITY\SYSTEM
  RW BUILTIN\Administrators
  R  NT AUTHORITY\INTERACTIVE
  R  NT AUTHORITY\SERVICE  <- this gives access to services

 

How to add access rights for NT AUTHORITY\SERVICE to MSLLDP service:

 

1. Run: SC sdshow MSLLDP

You’ll get something like below (SDDL language is documented on MSDN):

 

D:(D;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BG)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;LCRPWP;;;S-1-5-80-3141615172-2057878085-1754447212-2405740020-3916490453)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

 

2. Run: SC sdshow MUP

You’ll get:

 

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

 

3. Take NT AUTHORITY\ SERVICE entry, which is (A;;CCLCSWLOCRRC;;;SU) and add it to the original MSLLDP security descriptor properly, right before the last S:(AU… group.

 

4. Apply the new security descriptor to MSLLDP service :

 

sc sdset MSLLDP D:(D;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BG)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;LCRPWP;;;S-1-5-80-3141615172-2057878085-1754447212-2405740020-3916490453)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

5. Check the result:

 

>accesschk.exe -c mslldp

mslldp
  RW NT AUTHORITY\SYSTEM
  RW BUILTIN\Administrators
  RW S-1-5-32-549
  R  NT SERVICE\NlaSvc
  R  NT AUTHORITY\SERVICE

 

6. Run you backup app, the error is gone for my Home Server backup.

!!! Do not forget to use your security descriptor for MSLLDP driver since I guess there can be some rare cases when its different for your machine. Do not copy my SDDL descriptions, just in case. And backup the old descriptor just in case !!!

 

!! Achtung die Kommandos immer ohne Zeilenumbruch eingeben !!

Darin wird beschrieben, das die Ursache des Problems eine fehlende Berechtigung ist.

Wie sich herausstellte war das bei mir ebenfalls der Fall. (Ist wohl ein generelles Win 8.1 Problem wenn von WIndows 8 upgegraded wurde)

Ich konnte die fehlende Berechtigung wiederherstellen, aber das verdammte Ding wollte immer noch nicht.

Nach einigen Stunden  suchen war ich dann endlich fündig. Damit die Dateiversionsicherung funktioniert, muß der Windows Search (Auch Index Dienst genannt) laufen!

Den hatte ich aber, da ich ein SSD nutze und dort der Indexdienst nicht nötig ist abgeschlten. Das könnte das verfluchte Dink ja auch melden, oder?

Nach starten des Dienstes läuft jetzt alles wieder…