Windows 10: Automatisches Backup bei Anschluss einer USB-Festplatte

Heute mal etwas ganz anderes – nämlich Backups. Niemand macht sie gerne, jeder braucht sie irgendwann. Aber wohin damit? Ein Heimserver ist für viele wegen der Anschaffungs- und Betriebskosten keine Option. Und kostenpflichtige Internet-Dienste nerven oft durch träge Upload-Zeiten, besonders, wenn man im ländlichen Raum wohnt.

Was also tun? Für jedes Backup die Festplatte anstecken und umständlich irgendwelche Freeware-Programme starten? Das sind kostbare Minuten Lebenszeit. Für eine so einfache Aufgabe will man sich andererseits auch kein kostenpflichtiges Programm zulegen. Muss auch gar nicht sein! Windows hat alle nötigen Tools zur Automatisierung mit an Bord.

Die Lösung, die ich hier vorstellen werde, macht Backups zum Kinderspiel: Einfach eine externe Festplatte anstecken und von allen wichtigen Ordnern werden automatisch Sicherungen hinüberkopiert. Abstöpseln – fertig. Zur Einrichtung braucht man lediglich das Open-Source-Programm FreeFileSync, eine ausreichend große externe Festplatte und Copy&Paste-Fertigkeiten.

Schritt 1: Die Festplatte vorbereiten

Keine Sorge – es werden keine Daten verloren gehen, die schon auf der Festplatte sind. Hier geht es nur darum, Ihrer Festplatte einen Laufwerksbuchstaben zuzuordnen, der so schnell nicht belegt wird. Ansonsten könnte folgendes passieren: Ihre Backup-Festplatte hat normalerweise den Laufwerksbuchstaben E:\. Sie schließen einen anderen Datenträger, etwa einen USB-Stick an, während die Festplatte einmal nicht angeschlossen ist. Jetzt bekommt der USB-Stick den Laufwerksbuchstaben E:\ zugeordnet – wenn Sie zukünftig die Festplatte anschließen, wird das Backup auf den USB-Stick ausgeführt! Das wollen wir vermeiden, also weisen wir der Festplatte einen Buchstaben zu, der so schnell nicht automatisch belegt wird – etwa Z:\. Dafür öffnen wir die Datenträgerverwaltung (Windows 10: Einfach im Startmenü „Datenträgerverwaltung“ eintippen und Enter drücken). Unsere Festplatte erscheint dort als „Datenträger x“, sobald wir sie anstecken:

Mit einem Rechtsklick auf das schraffierte Rechteck öffnet sich ein Kontextmenü, wo wir unter „Laufwerkbuchstaben und -pfade ändern“ → „Ändern“ den Laufwerkbuchstaben Z:\ zuweisen können. Das war auch schon der erste Schritt.

Achtung: Wenn Sie den Laufwerkbuchstaben ändern, werden Programme, die Dateien auf dem Laufwerk verwenden, diese nicht mehr finden können! Sie müssen dem Programm dann den neuen Pfad der Datei mitteilen.

Schritt 2: Bestimmen, was gesichert werden soll

Nachdem wir FreeFileSync heruntergeladen und installiert haben, öffnen wir das Programm. Uns begrüßt eine vollgepackte Benutzeroberfläche – zuerst einmal brauchen wir die folgenden beiden Felder:

Die beiden Textboxen unter dem "Vergleichen"-Button.

Im linken Feld können wir mit dem grünen Plus-Zeichen beliebig viele Ordner in unsere zu sichernde Auswahl aufnehmen. Über den „Auswählen“-Button neben dem Textfeld können wir jeweils den zu sichernden Ordner bestimmen. Ich zum Beispiel möchte meine Musik und meine Fotos sichern:

Jetzt stecken wir unsere externe Festplatte an und wählen sie dann im rechten Feld als Zielordner für das Backup aus, sodass das Ganze etwa so aussieht:

Nun können wir einmal auf „Vergleichen“ drücken. FreeFileSync zeigt nun eine Liste von Dateien an, die nur in den Quellordnern bzw. nur in den Zielordnern vorhanden sind. Wenn Ihr Backup-Laufwerk noch keine Dateien enthält, sollten sich z.B. nur in der linken Liste Elemente befinden.

Wir wollen alle Dateien auf das Laufwerk kopieren, die dort noch nicht oder nur als ältere Version vorhanden sind. Vom Laufwerk aus wollen wir keine Dateien in unsere Quellordner kopieren. Das teilen wir FreeFileSync über die Synchronisationseinstellungen mit (F8 drücken oder auf das grüne Zahnrad in der oberen Leiste klicken).

Die Einstellung „Aktualisieren“ entspricht genau unseren Bedürfnissen, daher klicken wir sie an. Die fünf Schaltflächen mit Symbolen bedeuten dann von links nach rechts:

  • Wenn ein Element nur links existiert, kopiere es nach rechts
  • Wenn das linke Element neuer ist, ersetze das rechte damit
  • Wenn ein Element nicht eingeordnet werden kann, unternimm nichts damit
  • Wenn das rechte Element neuer ist, unternimm nichts
  • Wenn ein Element nur rechts existiert, unternimm nichts

Das befähigt uns, unser Laufwerk weiterhin ganz normal zu benutzen, ohne zu befürchten, dass irgendeine Datei in den Quellordnern überschrieben wird.

Wir sollten außerdem sicherstellen, dass im Feld „Fehlerbehandlung“ die Option „Ignorieren“ ausgewählt ist – schließlich wollen wir vom Backup-Vorgang nichts mitbekommen. Wenn Sie sehen wollen, ob ein Backup erfolgreich verlaufen ist, können Sie das immer im Protokoll nachlesen – dazu später mehr.

Wir haben jetzt unseren Backup-Vorgang konfiguriert. Diesen können wir als Batch-Datei exportieren, sodass er durch das Öffnen der Batch-Datei automatisch gestartet wird. Dazu schließen wir die Einstellungen und wählen im oberen Menü „Datei“ → „Als Batchauftrag speichern“. Die Datei legen wir irgendwo ab, wo sie gefunden werden kann – zum Beispiel auf unserer Backup-Festplatte. Sie kann beispielsweise „autoBackup.ffs_batch“ genannt werden.

Schritt 3: Eine neue Aufgabe im Aufgabenplaner erstellen

Der Windows-Aufgabenplaner bietet die Möglichkeit, bestimmte Aufgaben wie das Starten eines Programms oder auch das Senden einer E-Mail routinemäßig auszuführen – etwa jede Woche montags oder immer, wenn der Computer gesperrt wird. Wir wollen eine Aufgabe erstellen, die jedes mal unsere Batch-Datei ausführt, wenn das Backup-Laufwerk angeschlossen wird. Dazu öffnen wir zunächst den Aufgabenplaner (Windows 10: Im Startmenü „Aufgabenplanung“ eingeben und Enter drücken).

In der oberen Leiste wählen wir unter „Aktion“ → „Aufgabe erstellen“ (nicht „Einfache Aufgabe erstellen“!). Das Fenster für Aufgabenerstellung erscheint. Es verfügt über die Reiter „Allgemein“, „Trigger“, „Aktionen“, „Bedingungen“ und „Einstellungen“. Wir geben unter „Allgemein“ zunächst einen Namen und eventuell eine Beschreibung ein. Die restlichen Einstellungen können wir unverändert lassen:

Unter „Aktionen“ fügen wir mit der Schaltfläche „Neu…“ eine neue Aktion hinzu. Als Programm/Skript wählen wir die .exe-Datei von FreeFileSync aus, welche normalerweise unter „C:\Programme\FreeFileSync\FreeFileSync.exe“ zu finden ist. Als Argument müssen wir den Pfad unserer Batch-Datei angeben. In meinem Fall ist das „Z:\autoBackup.ffs_batch“. Anführungszeichen nicht vergessen!

Mit einem Klick auf „OK“ schließen wir das Fenster. Jetzt wechseln wir zum Reiter „Bedingungen“. Unter „Energie“ können wir für Laptops festlegen, dass die Aktion auch im Akkubetrieb durchgeführt werden soll. Das ist sinnvoll, wenn man auch unterwegs mal schnell ein Backup anlegen will. Nun bestätigen wir alles mit „OK“ – die Aufgabe ist fertig und wird im Aufgabenplaner angezeigt. Allerdings hat sie jetzt noch keinen Trigger, wird also nicht ausgeführt:

Für unseren Trigger müssen wir herausfinden, welche Geräte-ID unsere Festplatte hat. Schließlich soll die Backup-Routine nicht für jedes beliebige USB-Gerät ausgeführt werden, welches wir anschließen.

Schritt 4:Die Geräte-ID unserer Festplatte herausfinden

Damit unser Backup nur gestartet wird, wenn wir genau diese eine Festplatte anschließen, müssen wir ihre Geräte-ID herausfinden. Dazu werden wir in der Windows-Ereignisanzeige das Ereignis „Festplatte angeschlossen“ abfangen, welches die Geräte-ID enthält. Zunächst öffnen wir die Ereignisanzeige (Windows 10: Im Startmenü „Ereignisanzeige“ eintippen und Enter drücken).

Das Protokoll, das unser gewünschtes Ereignis erzeugt, kann allerdings deaktiviert sein. Wir finden es im Datenbaum auf der linken Seite unter „Anwendungs- und Dienstprotokolle“ → „Microsoft“ → „Windows“ → „DriverFrameworks-UserMode“ → „Betriebsbereit“. Mit einem Rechtsklick auf „Betriebsbereit“ öffnet sich ein Kontextmenü, in dem wir über „Protokoll aktivieren“ das Protokoll aktivieren können. Wenn wir nun „Betriebsbereit“ auswählen, erscheint im mittleren Bereich des Fensters eine Auflistung aller Ereignisse, welche dieses Protokoll registriert hat. Wir stecken nun unsere Festplatte einmal aus und wieder an, um ein Ereignis zu erzeugen, und aktualisieren die Ansicht mit F5:

Das neueste Ereignis sollte nun zu unserer Festplatte gehören. Unter dem Reiter „Details“ finden wir dann auch schon über „UserData“ → „UMDFHostDeviceRequest“ → „[instance]“ die ID unserer Festplatte:

Wir kopieren den kompletten Wert und speichern ihn irgendwo zwischen, zum Beispiel in einem txt-Dokument auf dem Desktop.

Schritt 5: Einen Trigger in unsere Aufgabe einfügen

Nun zurück zum Bearbeitungsfenster der Aufgabe. Unter dem Reiter „Trigger“ können wir mit einem Klick auf den „Neu“-Button einen neuen Trigger anlegen. Uns begrüßt folgendes Fenster:

Ganz oben unter „Aufgabe Starten“ wählen wir die Option „Bei einem Ereignis“ aus der Dropdown-Liste. Dann den Punkt „Benutzerdefiniert“ anwählen – Ein Button „Neuer Ereignisfilter“ erscheint. Mit einem Klick auf diesen gelangen wir endlich in das Fenster, wo wir unseren eigenen Code eingeben können, und zwar unter dem Reiter „XML“. Zuvor müssen wir noch das Kontrollkästchen „Manuell bearbeiten“ aktivieren und bestätigen, dass wir auch wirklich selber Code einfügen und nicht noch mehr Knöpfchen im Bearbeitungsfenster drücken wollen.

Jetzt ist Achtung geboten – für Windows 10 ab Version 1709 wird dieser Code benötigt:

<QueryList>
<Query Id="0" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational">
<Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"> *[System[Provider[@Name='Microsoft-Windows-DriverFrameworks-UserMode'] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId="HIER-KOMMT-IHRE-GERAETE-ID-HIN"]]]</Select>
</Query>
</QueryList>

Für ältere Windows-10-Versionen dieser:

<QueryList>
<Query Id="0" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational">
<Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"&>
*[UserData[UMDFHostAddDeviceEnd[@instance="HIER-KOMMT-IHRE-GERAETE-ID-HIN"]]]
</Select>
</Query>
</QueryList>

Die eigene Windows-Version finden Sie mit einem Rechtsklick auf das Windows-Logo unten links → „System“. Im Zweifelsfall benutzen Sie den oberen Code.

Wir ersetzen den dezenten Hinweis „HIER-KOMMT-IHRE-GERAETE-ID-HIN“ durch die tatsächliche Geräte-ID, die wir zuvor irgendwo zwischengelagert haben. Anführungszeichen nicht vergessen! Vergleichen Sie am Besten noch einmal die Platzierung des Code-Schnipsels und der Geräte-ID mit diesem Bild:

Achtung: Wenn Ihre Geräte-ID Sonderzeichen enthält, müssen Sie diese maskieren, d.h., durch die entsprechenden XML-Kürzel ersetzen! Ein „&“-Zeichen wird beispielsweise zu einem „&amp;“. Weitere Sonderzeichen und ihre Maskierungen finden Sie hier.

Mit mehreren Klicks auf „OK“ schließen wir nun die Bearbeitungsfenster. Unsere Aufgabe ist scharf gestellt.

Schritt 6: Testen

Geschafft! Sobald Sie nun Ihre Festplatte einstecken, sollte sich ein Fenster des Programms „FreeFileSync“ öffnen, in welchem der Backup-Vorgang angezeigt wird. Wollen Sie das Feature nicht mehr nutzen, löschen Sie einfach die erstellte Aufgabe aus dem Aufgabenplaner.

Bei mir wird sich diese ganze Arbeit erst ab dem fünfzigsten Backup auch zeitlich lohnen, bei Ihnen könnte es bereits das zwanzigste sein. In diesem Sinne – frohes Datensichern!


Kommentare

43 Antworten zu „Windows 10: Automatisches Backup bei Anschluss einer USB-Festplatte“

  1. Avatar von Felix Gade
    Felix Gade

    Wirklich klasse! Vielen Dank!!!

    Ich verwende diese Anleitung mittlerweile seit über 3 Jahren. Genauer gesagt ist es die Automatisierung bei Anschluss eines externen Speichermediums, welche ich in diversen Scripten einsetze. Das funktioniert nicht nur unter Windows 10 klasse, sondern automatisiert auch unter Windows Server 2016/2019 verschiedenste Abläufe.

  2. Hat super geklappt. Ganz herzlichen Dank für die gute Anleitung. Man kann „eigentlich“ fast nichts falsch machen.

    Ich nutze FFS schon seit Jahren für automatisierte Sicherungen. PC fährt mitten in der Nacht hoch, spiegelt diverse Laufwerke und schaltet sich nach erledigter Arbeit wieder aus. Am Wochenende gibts dann noch zusätzlich eine Backup vom gesamten System.

    Die Möglichkeit, automatisch eine Synchronisierung durchzuführen, wenn ein USB Stick angeschlossen wird, ohne, dass man auch nur einen Klick absetzen muss, ist genial. Ich nutze dies für sehr sensible Daten, wenn ich den Rechner für längere Zeit verlasse und wenn der Arbeitstag ein Ende gefunden hat.

  3. Bei mir kommt immer der Ereignisfilter ist ungültig,

    mein Code

    *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=SWD\WPDBUSENUM\{9E730814-8887-11EB-BDA0-40EC996ADB6D}#0000000000100000

  4. Hallo Max,
    vielen Dank für die ausführliche Anleitung. Leider habe ich das gleiche Problem, wie Johanna im März 2019.
    Wenn ich den neuen Ereignisfilter anlege kommt nach OK im XML-Reiter die Meldung “ Die angegebene Ereignisprotokollabfrage ist ungültig“.

    Hier ist der Code, den ich eingetragen habe:

    <QueryList>
    <Query Id=“0″ Path=“Microsoft-Windows-DriverFrameworks-UserMode/Operational“>
    <Select Path=“Microsoft-Windows-DriverFrameworks-UserMode/Operational“> *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=“SWD\WPDBUSENUM\{2D6D4673-463E-11EB-9CE0-1002B523F30B}#000000003A000000″]]]</Select>
    </Query>
    </QueryList>

    Die Windows10 Version ist 2004.

    Hast Du eine Idee?

    Vielen Dank schon mal im voraus für Deine Hilfe.

    1. Hat sich erledigt. Danke.

  5. Hallo Uwe
    Super Idee, nur für den normalen Windowsbenutzer schwer realisierbar. Vermutlich könnte man das ganze Procedere auch mit einem Programm / Skript lösen.

  6. Avatar von Rudi Liebl
    Rudi Liebl

    Hallo Max,

    gute Anleitung. Ich habe nur das Problem das ich unter Aufgabenplanung -> Tigger -> Neu -> Aufgabe Starten nicht die Möglichkeit habe Benutzerdefiniert auszuwählen.

    1. Hallo Rudi,
      hast du denn bei „Aufgabe Starten“ in der Liste den Eintrag „Bei einem Ereignis“ ausgewählt? Erst dann erhältst du die Option „Benutzerdefiniert“ (unter der Liste).
      LG, Max

  7. Avatar von Florian Pfau
    Florian Pfau

    Super Anleitung, herzlichen Dank! Funktioniert top und ist ziemlich schnell gemacht

  8. Perfekt! Habe für den Laptop meiner Eltern eine einfache Möglichkeit für Backups gesucht, ohne dass sie extra irgendwas klicken oder öffnen müssen. Mit der Lösung ist es denkbar einfach, lediglich USB-HDD anstecken und fertig -> simpler geht es nicht.

    Danke für das HowTo!!!

    1. Avatar von Christian
      Christian

      Hallo. Erstmal Danke für die wirklich ausführliche Anleitung. Leider wird mein Trigger auch nicht ausgelöst. Die ID meines USB-Sticks:
      „USB\VID_147E&PID_2020\6&D6DC9D0&0&3“. Habe das XML entsprechend angepasst:

      *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=“USB\VID_147E&PID_2020\6&D6DC9D0&0&3″]]]

      Meine Windowsversion: Windows 10 Pro 1903
      Ich habe mir auch mal die Ereignisse angeschaut, wenn ich meinen Stick einstecke, kommt kein Event 2006. Bei mir kommen da nur die Events 2100 und 2102. Allerdings löst mein Trigger auch mit diesen EventIds nicht aus.

      1. Avatar von Christian
        Christian

        Sorry, ist wohl hier beim einfügen verloren gegangen. Ich habe natürlich alle „&“ durch „&“ ersetzt.

        1. Hallo Christian,
          tut mir leid, dass ich dir jetzt erst antworte. Da du mit einem anderen Event arbeitest (womöglich bekommst du kein 2006er, weil du einen USB-Stick und keine Festplatte benutzt, aber das ist nur eine Vermutung), ist die Struktur des Triggers etwas anders. Bei den Events 2000 und 2001 heißt es im XML-Baum „UMDFHostDeviceRequest“ statt wie bei mir „UMDFHostAddDeviceEnd“. Deswegen könntest du mal versuchen, eines dieser Events zu verwenden, wie du es eh schon gemacht hast, aber zusätzlich den Ausdruck „UMDFHostAddDeviceEnd“ im Trigger gegen „UMDFHostDeviceRequest“ austauschen. Vielleicht funktioniert es dann?
          LG, Max

  9. Hallo,
    bei mir löst der Trigger offenbar nicht aus. Sobald ich die HDD anschließe, passiert nichts. Führe ich die Aufgabe manuel aus, so klappt alles.

    Hast du vielleicht ein Idee woran das liegen könnte?

    Liebe Grüße
    Kim

    1. Hallo Kim,
      schade, dass es noch nicht klappt. Enthält deine Geräte-ID vielleicht noch Sonderzeichen? (Das sind in XML ',",&,<,>)
      Diese müsstest du mit den entsprechenden Zeichenfolgen zur Maskierung ersetzen. Diese findest du z.B. unter
      http://www.codecodex.com/wiki/index.php?title=Escape_sequences_and_escape_characters#XML .

      1. Huhu,

        danke für die schnelle Antwort 🙂

        hmm, das sollte soweit passen, aber schau doch gern mal drauf!?

        *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=“SWD\WPDBUSENUM\_??_USBSTOR#DISK&VEN_LACIE&PROD_RUGGED_RAID_PRO&REV_0003#000000000002&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}“]]]

        Danke für deine Hilfe!

        lg kim

        1. Hey Kim, tut mir leid, dass du warten musstest. Du hast also den Wert

          SWD\WPDBUSENUM\_??_USBSTOR#DISK&VEN_LACIE&PROD_RUGGED_RAID_PRO&REV_0003#000000000002&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}

          als Geräte-ID in den Trigger eingefügt? Wenn ja, achte darauf, dass du in dieser Zeichenkette jedes "&" durch ein "&amp;" ersetzt.

          1. Hallo,
            ich wollte nur kurz Feedback geben, es hat geklappt. Allerdings wurde mir beim erneuten versuch ne eine andere ID angezeigt.

            danke und liebe Grüße
            Kim

  10. Avatar von Felix Pressl
    Felix Pressl

    Servus Max,
    habe gestern deine Anleitung ausprobiert jedoch musste ich beim Testen feststellen, dass folgende Fehlermeldung kam:

    „Die Datei „c:\WINDOWS\system32\“X:\Autobackup.ffs_batch““ wurde nicht gefunden.

    Habe in der Aufgabenplanung mehrmals bei Aktionen nachgeschaut und überprüft ob der richtige pfad angegeben ist. Leider ohne Erfolg
    (meiner Festplatte habe ich den Buchstaben X zugeordnet)
    MFG
    Felix

    1. Servus Felix,
      der Pfad „c:\WINDOWS\system32\“X:\Autobackup.ffs_batch“ sieht nicht ganz richtig aus – versuch es mal mit “X:\Autobackup.ffs_batch“. Der Buchstabe des Laufwerks sollte immer den Anfang deines Pfades bilden. „C:“ ist deine Haupt-Festplatte, auf der Windows installiert ist, darum solltest du es mal ohne diesen Teil des Pfades versuchen. Sag gerne Bescheid, ob das funktioniert.
      Viele Grüße, Max

      1. Servus,
        habe die Aufgabe im Aufgabenplaner neu erstellt und nun klappt alles:)
        Vielen Dank für deine Schnelle Antwort und die tolle Anleitung 😀
        LG
        Felix

  11. Tausend Dank, hat problemlos funktioniert. Besser kann eine Anleitung nicht geschrieben sein!

  12. Avatar von Philipp
    Philipp

    Gibt es eine Möglichkeit bei Abschluss des Syncs eine Mail verschicken zu lassen? Oder einen Systemton abspielen zu lassen?Hintergrund ich möchte es an einem HTPC nutzen. Bei diesem möchte ich beim Backup nicht unbedingt die ganze Zeit den TV mitlaufen lassen.

    1. Hallo Philipp, FreeFileSync spielt automatisch einen Sound ab, wenn die Synchronisation abgeschlossen ist. Wenn du einen eigenen Sound abspielen oder eine E-Mail senden möchtest, kannst du als „Trigger“ für diese Aufgabe benutzen, dass FreeFileSync nach beendetem Backup eine Log-Datei in dem Ordner ablegt, in dem sich auch die Batch-Datei befindet. Dabei hilft dir vielleicht dieses Tutorial: https://quickdevtips.blogspot.com/2012/12/how-to-monitor-folder-and-trigger.html
      Du kannst also in der Aufgabenplanung eine Aufgabe erstellen, die immer dann einen Ton abspielt oder eine E-Mail sendet, wenn eine neue (Log-)Datei in dem Ordner der Batch-Datei auftaucht. Ich hoffe, das hilft dir weiter!

  13. Avatar von Johanna Zaremba
    Johanna Zaremba

    Hallo, danke für die tolle und ausführliche Anleitung! Ich bin fast am Ende und komme nicht weiter: Habe Windows 10 1809, also den oberen Code verwendet und entsprechend meine GeräteID eingefügt.
    <QueryList><Query Id=“0″ Path=“Microsoft-Windows-DriverFrameworks-UserMode/Operational“><Select Path=“Microsoft-Windows-DriverFrameworks-UserMode/Operational“> *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=“SWD\WPDBUSENUM\{55D99D9D-378E-11E9-AEB7-F8281985CC80}#0000000001000000″]]] </Select></Query></QueryList>

    Wenn ich hier ok klicke, kommt die Fehlermeldung „Die angegebene Ereignisprotokollabfrage ist ungültig.“ Siehst du den Fehler vielleicht? Danke für deine Hilfe!

    Schöne Grüße,
    Johanna

    1. Hallo Johanna,
      gut, dass du schreibst – der Code-Schnipsel im Beitrag war nicht ganz richtig. Bei meinem spätabendlichen Editieren habe ich aus Versehen auch die XML-Kontrollzeichen „<" und">“ als „<“ und „>“ ausgedrückt. Das muss man aber nur im String machen. Jetzt sollte aber auch der letzte Schritt funktionieren.
      Herzliche Grüße
      Max Christis

      1. Avatar von Johanna Zaremba
        Johanna Zaremba

        Hi Max,
        danke für die Aufklärung! Eine Frage noch zu dieser Art des Back-Ups… wenn ich auf meiner internen Platte Dinge lösche oder neu sortiere, dann passiert das bei Anschluss der Back-Up Festplatte auch oder nicht? Ich würde wollen, dass es immer der exakt gleiche Inhalt ist, wie auf der internen…gleich sortiert und wenn ich was lösche dort auch gelöscht…
        Danke noch für die Info =)
        Schöne Grüße,
        Johanna

        1. Avatar von Johanna Zaremba
          Johanna Zaremba

          Leider funktioniert es immer noch nicht, bekomme wieder die Fehlermeldung… Hab den neuen Code kopiert… deine Antwort verstehe ich nicht ganz, da sieht man beide mal die Zeichen Pfeil links und Pfeil rechts… Siehst du den Fehler?:

          *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=“SWD\WPDBUSENUM\{55D99D9D-378E-11E9-AEB7-F8281985CC80}#0000000001000000″]]]

          Danke und LG Johanna

          1. Hallo Johanna,

            zu deiner ersten Frage: Wenn du den Inhalt deiner internen Platte immer 1:1 auf der externen Platte haben willst, wählst du in FreeFileSync die Option „Spiegeln“ statt „Aktualisieren“. Dann macht das Programm das, was du möchtest (du kannst dann z.B. auch keine Dateien mehr ausschließlich auf der externen Platte speichern, weil diese beim Backup gelöscht werden).

            Zu deinem Problem: Mit dem letzten Code habe ich tatsächlich auch deine Fehlermeldung bekommen, weiß aber nicht, woran es lag. Habe jetzt mal genau den Code hineinkopiert, mit dem es bei mir funktioniert hat (bis auf die Geräte-ID). Vielleicht war irgendwo ein Leerzeichen zu viel. Lass mich gerne wissen, ob es mit dem jetzigen Code klappt!

            Zu den „<"- und ">„-Zeichen: In XML gibt es bestimmte Kürzel, welche anstelle dieser Zeichen verwendet werden (weil sie selbst Kontrollzeichen, zum Öffnen und Schließen von Tags, sind). Die Kürzel kannst du dir hier anschauen, wenn du möchtest: http://devtrain.de/artikel_296.aspx
            WordPress ersetzt diese Kürzel in den Kommentaren auch automatisch durch die entsprechenden Zeichen, darum sieht man keinen Unterschied ^^

  14. Ich habe diesen wunderbaren Guide für mein Problem endlich gefunden, danke dafür!

    Das Einzige, dass nicht geklappt hatte, war das Festlegen des Triggers extern und dann die Aufgabe wieder zu importieren (XML not well-formed).

    Wenn man folgendes jedoch bei Trigger > Bei einem Ereignis > Benutzerdefiniert > Ereignisfilter bearbeiten > XML > manuell bearbeiten eingibt, funktioniert es auch intern ohne Exportieren der Aufgabe:

    *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=“GERÄTE_INSTANCE_ID“]]]

    alle, was in XML als Sonderzeichen gilt, muss hier auch als Sonderzeichen geschrieben werden >, < usw. und nicht der Code dafür (wie etwa <)

    Hoffe, dies hilft weiteren Personen. Schönen Tag noch!

    1. Warum wird der Code in der Antwort beschnitten? Wichtig, eckige Klammern verwenden, nicht den Code dafür (ah, ich sehe das Problem, der Code wird hier in die korrekten Zeichen umgewandelt, und was nicht zum Kommentar zu gehören scheint, wird ausgeblendet. Dann eben so:

      <QueryList><Query Id=“0″ Path=“Microsoft-Windows-DriverFrameworks-UserMode/Operational“><Select Path=“Microsoft-Windows-DriverFrameworks-UserMode/Operational“>
      *[System[Provider[@Name=’Microsoft-Windows-DriverFrameworks-UserMode‘] and EventID=2006]] and *[UserData[UMDFHostAddDeviceEnd[InstanceId=“INSTANCE ID“]]]
      </Select></Query></QueryList>

      Das hier intern eingeben.

      1. Hallo Yannis,

        vielen Dank für deinen Kommentar! Wenn ich mich recht entsinne, hat deine Method in älteren Windows-10-Versionen (noch) nicht funktioniert, aber das tut sie jetzt. Ich habe das Tutorial gleich angepasst (und damit hoffentlich etwas einfacher gemacht). Danke!

  15. Absolut super gemachte Anleitung.
    Vielen Dank!
    Synchronisiert auf Anhieb 🙂

  16. Vielen Dank für die Antwort.
    Der Fehler wird jetzt angezeigt im Trigger bei < direkt vor dem Semikolon. Nur hilft mir das nicht wirklich weiter!
    Schön wäre noch ein Tip, ansonsten muß ich wohl erstmal mehr über xml lernen.
    mfg

    1. Ich vermute, Sie meinen das Semikolon vor . Dieses Semikolon formt mit den vorherigen Zeichen den Ausdruck „>“ und der ist die Maskierung des „>“-Zeichens („gt“ steht für das englische „greater than“). Wenn Sie sich das Bild meiner XML-Datei ansehen, fällt Ihnen vermutlich auf, dass innerhalb des „Subscription“-Blocks mehrmals „>“ und „<“ („less than“, also „<") auftauchen. Kann es sein, dass Sie die "&"-Zeichen in diesen Ausdrücken durch "&" ersetzt haben? Aus meiner Beschreibung wird leider nicht ganz deutlich, dass das "&"-Zeichen gleichzeitig der Beginn jeder Maskierung ist und Ausdrücke wie ">" nicht modifiziert werden müssen. Sonderzeichen müssen Sie nur in der von Ihnen eingefügten Geräte-ID maskieren, im restlichen "Subscriptions"-Block ist das bereits durch Windows geschehen. Sollte das nicht Ihr Problem sein, können Sie mir die Datei gerne per E-Mail (maxchristis@gmail.com) senden, dann kann ich einen Blick darauf werfen. Viele Grüße!

    2. Hallo,
      hatte den Fehler auch, liegt am hier gezeigten Code 😉
      Es sind die Anführungszeichen die im Browser wohl falsch angezeigt werden.

      “0″ hier im Code,
      sollte aber „0“ sein, (shift+2), wenn man die alle im Code ersetzt ist auch der Fehler weg.

      1. ach herje, hier die Kommentare machen es dann nochmal anders 😉

        Aber trotzdem, schau dir die anführungszeichen an und ersetze sie durch neue mit shift+2

        Allerdings muss ich gestehen, dass ich es trotzdem auch nicht zum laufen bekommen. Ich kann zwar die Datei importieren, aber der Test läuft nicht durch – bzw. die Aufgabe startet nicht.
        Das hier ist meine USB_ID
        SWD\WPDBUSENUM\{BA44B8B5-4A0D-11E8-8205-E82A44E639E8}#0000000000100000

        Muss hier was an Sonderzeichen ersetzt werden?

      2. Hallo Sven,

        vielen Dank für die Rückmeldung! Die seltsamen Anführungszeichen werde ich sogleich austauschen…

        Deine Geräte-ID sieht gut aus, da muss meines Erachtens nichts ersetzt werden. Ich werde die Methode selber noch einmal ausprobieren – vielleicht hat ein Windows-Update ein paar Feinheiten geändert.

        1. So, wie befürchtet hat die Windows-Version 1709 Änderungen in die XML-Struktur gebracht, sodass ein anderes Code-Snippet nötig ist. Dieses habe ich jetzt in den Beitrag eingebaut. Bei mir funktioniert die Methode nun. Vielen Dank für die Rückmeldung und gutes Gelingen!

          1. Vielen Dank!
            Es geht jetzt, allerdings nicht über den Weg die Datei zu exportieren, anzupassen und anschließend wieder zu importieren. Dort bekomme ich jedes Mal die Fehlermeldung, dass der QueryList (12,3) fehlerhaft wäre. (laufe auch auf 1709)

            Aber ich hab es trotzdem so hinbekommen:
            Neue Aufgabe wie in der Anleitung beschrieben anlegen, allerdings auch in den Reiter Trigger gehen.
            Dort einen neuen Trigger anlegen.
            Dann „Aufgabe starten bei einem Ereignis“ auswählen
            Benutzerdefiniert anklicken
            „Neuer Ereignisfilter“ klicken
            Im neuen Fenster in den Reiter XML und ganz unten den Haken für „Manuell bearbeiten“ anklicken.
            Dort dann den entsprechenden Code hier von der Seite + die Anpassung der Geräte-ID, ok, fertig, funktioniert 🙂

          2. Oh je, das passiert, wenn man spätabends an Code herumbastelt. Ich hatte beim Snippet das Drumherum, also die Tags , und noch nicht eingebaut. Danke für den Hinweis, jetzt sollte es aber auch wirklich klappen! 🙂

  17. Tolle Lösung wenns funktionieren würde. Irgendwas ist bei mir falsch. wenn ich die modifizierte Aufgabe in die Aufgabenplanung importiere gibt es eine Fehlermeldung:
    Der angegebene XML-Text war nicht wohlgeformt. Details in den erweiterten Fehlerinformationen, die ich aber nicht finde. Ich verwende die aktuelle Version Win 10 1709.

    1. Hallo Uwe,
      schade, dass es bei Ihnen nicht auf Anhieb geklappt hat. Einen ähnlichen Fehler wie Sie erhalte ich, wenn ich in der eingefügten Geräte-ID Zeichen wie das „&“-Zeichen verwende, ohne sie zu maskieren. Vielleicht taucht in ihrer Geräte-ID auch ein solches Zeichen auf, welches Sie noch maskieren müssten. Kandidaten sind neben & auch %, §, +, -, … Die richtigen Maskierungen finden Sie unter https://www.drweb.de/sonderzeichen-maskieren-liste/.

      Ein Hinweis darauf, wo Sie nach dem Fehler suchen können, ist es, wenn in der Fehlermeldung eine Sequenz wie (12,246) angezeigt wird. Diese sagt Ihnen, in welcher Zeile (1. Zahl) und Spalte (2. Zahl) der XML-Datei ein Fehler aufgetreten ist.

      Ich hoffe, Ihnen bei diesem Problem weiterhelfen zu können.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.