Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > Übersicht tags


Dokumente nach Verschlüsselungsvirus aus Historie wiederherstellen (Skript)

Hinweis: Das hier beschriebene Vorgehn ist nur bei der agorum core-Version 7.3.5 ausgeführt worden, um die Dokumente aus der Historie wiederherzustellen. Bei anderen Versionen sollte vorher vorsichtshalber separat oder in kleinerem Umfang getestet werden.

In diesem Fall hat der Virus die Dateien bei Verschlüsselung mit einer bestimmten Endung versehen, im konkreten Fall 2 Varianten.

Mithilfe des folgenden Skripts können Sie nach diesen Objekten suchen und die Historie-Versionen wiederherstellen, die nicht verschlüsselt sind. Manche Dateien wurden mehrmals verschlüsselt.

/* global Packages, sessionController */

let chu = new Packages.agorum.roi.ejb.common.ChangeHistoryUtils(sessionController);

let fixed = 0,
    cantfix = 0,
    errors = 0;

let re = /^.*\.woME6mR5$/;
//let re = /^.*\.CzUFQ5$/;

function recurse(object) {
  if (object.isFolder) {
    (object.getItems() || []).forEach(recurse);
  }
  else {
    try {
      if (re.test(object.name)) {
        //let historyObject = chu.getLastHistoryObject(object);
        //wenn die Datei mehrmals verschlüsselt wurde nimm das Objekt das nicht dem Virennamen entspricht
        let historyObject;
        
        (chu.getHistoryObjects(object) || []).reverse().some(function(candidate) {
          if (!re.test(candidate.name)) {
            historyObject = candidate;
            return true;
          }
        });
        
        if (historyObject) {
          chu.restoreHistoryObject(object, historyObject);
          ++fixed;
        }
        else {
          ++cantfix;
        }
      }
    }
    catch (err) {
      ++errors;
    }
  }
}

recurse(sessionController.getGlobalObjectById(3879952));

({
  fixed: fixed,
  cantfix: cantfix,
  errors: errors
});