Volumenschattenkopie (VSS) unter Win10

  • Moin zusammen,

    hat obiges (VSS unter Win10) schon mal jemand gemacht/hin bekommen?

    Also über AutoIt eine VSS erstellen und dann darauf zugreifen und ggf. danach wieder frei zu geben?

    Oder hat jemand eine alternative Lösung dafür (ohne irgendein kostenpflichtiges zusätzliches Programm)?

    Wir haben dies bisher unter XP und Win 7 genutzt um Dateien die im Zugriff sind etc. zu kopieren zu können für Backups.

    Leider funktioniert das unter Win10 nicht mehr.

    Die Person, die dies bisher gemacht hat ist nur noch minimal bei uns im Einsatz.

    Realisiert wurde dies über die vscsc.exe, die über eine batch ausgeführt wurde, die über ein autoit-Programm aufgerufen wird.

    Ich habe zwar das gefunden um eins zu erstellen:

    Code
    wmic shadowcopy call create Volume=c:\

    Habs aber bisher nicht getestet, da ich keinen Weg gefuden habe wie ich dann darauf zugriefen kann. Bisher war dies immer bei uns das Laufwerk "X:".

    Bzw. weiß jemand wie man so etwas über WBADMIN realisieren kann (mit Statusabfrage)?

    Meine Entwürfe sehen aktuell (im groben) so aus:

    4 Mal editiert, zuletzt von Moombas (30. März 2020 um 11:36)

  • Also gelernt habe ich schon mal (durch Fehlermeldungen direkt in der CMD):

    - Ordner zu sichern ist in ?unserer? Windows 10 Version nicht enthalten, nur das ganze Laufwek ist möglich

    --> Runwait('C:\Windows\System32\wbadmin.exe start backup -quiet -vssCopy –backupTarget:D: -include:C:')

    - wbadmin recovery ist in ?unserer? Windows 10 Version nicht enthalten

    --> In den Dropdowns sind die "Backups" enthalten

    Nun habe ich 2 Probleme:

    - Ich muss auf einzelne Ordner des Backups zugreifen können.

    --> Weiß jemand ob man irgendwie auf diese "Backups" zugreifen kann?

    - Diese Kommandozeile lässt sich nur als gesonderte cmd in der cmd erfolgreich ausführen, ansonsten passiert nix

    --> Mache ich da irgendwas falsch?

    2 Mal editiert, zuletzt von Moombas (5. August 2020 um 16:05)

  • Oder hat jemand eine alternative Lösung dafür (ohne irgendein kostenpflichtiges zusätzliches Programm)?

    Zwei meiner Hauptbereiche sind Datensicherheit und Datensicherung. Besser gesagt, das war mal so, vor laaanger, langer Zeit. Ein bisschen ist noch hängen geblieben, z. B. dass eine solche Anforderung wie die deine weitaus komplexer ist, als mal eben etwas in die Kommandozeile einzutippen. Deshalb die Frage, ist es dir wichtig, das alles selbst zu erstellen, oder wäre auch nicht-kostenpflichtige zusätzliche Software eine Lösung?

    Bernd.

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

  • Sagen wir es so: Generell wäre es schöner es selbst zu schreiben (ging ja bis Win7 mit den Win Tools für die VSS), da wir dies in ein Programm einbetten was immer (nach bestimmten Bedingungen) ausgeführt wird.

    Das Problem ist, das dabei Dateien mit gesichert werden müssen, die einen Zugriffsschutz haben (werden von Diensten etc. verwendet, Datenbanken etc.). Das ging halt bisher mit der VSS gut.

    Bekloppter weise ging ja die reine Sicherung (wenn ich die Befehle direkt in die CMD manuell eingegeben habe oder die cmd-Datei über die cmd ausgeführt habe), nur der Zugriff auf diese nicht.

    Das Recovery ist (warum auch immer), nicht in der "Windowsversion enthalten" (evtl. nur bei Serverversionen?).

    Wichtig dabei ist halt gewisse Ordner zu sichern, da diese bei einem Festplattenausfall zurückgespielt werden müssen. Dies muss im Einklang mit dem oben beschriebenen Vorgang passieren und wir sichern in 2 Orte.

  • Dann rück mal ein paar Infos raus. 8o

    Und falls du dich jetzt fragst, welche: Alles was relevant ist! Denk daran, machst du es den Helfern leicht, dann wird dir geholfen. Kein Glaskugel-Raten :Glaskugel:

    Bernd.

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

  • Schau mal nach ob du das nicht in Windows-Features irgendwo aktiviert bekommst. Vielleicht ist es ja nur standardmäßig deaktiviert?

    Leider nein. Ich denke das dies entweder wirklich über die Windowsversion zur Verfügung gestellt wird oder innerhalb der wbadmin.exe

    Edit: Zitat was ich gefuden habe: "Der Restore Befehl funktioniert nur in der Server Version und nicht unter Windows 10"

    @Prof. Bernd:

    Es wird jeden Tag eine Datensicherung gemacht nach ein paar definierten Abläufen. Am Ende wird dann ein Programm von uns gestartet, welches unter anderem ein Backup anlegt.

    Einige Dienste laufen aber weiter und greifen auf Datenbanken und andere Dateien zu, so das man diese nicht einfach kopieren kann.

    Bisher wurde dazu halt eine VSS () gemacht und der aktuelle Stand gesichert.

    AutoIt
    ...

    CMD:

    Code
    C:\path\vscsc.exe -exec=C:\path\backup.exe C: > C:\path\log\vscs_start.txt

    Als Fehler erhalten wir bei der Ausführung:

    Spoiler anzeigen

    VSCSC.EXE 3.0 - Volume Shadow Copy Simple Client for Windows 7

    This is a modified version of the original Volume Shadow Copy Client

    by Microsoft (VSHADOW.EXE), originally bundled with the Microsoft SDK 7

    for Windows Vista and Windows 7.


    (Option: Enable tracing)

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: '-exec=C:\custom\backup\backup.exe' with 'wx'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 482]] exec 5

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: '-exec=C:\custom\backup\backup.exe' with 'wi'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 482]] exec 5

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: '-exec=C:\custom\backup\backup.exe' with 'wait'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: '-exec=C:\custom\backup\backup.exe' with 'exec'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 482]] exec 5

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 491]] - Additional Param: [C:\custom\backup\backup.exe]

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 502]] Return true; (additional param = C:\custom\backup\backup.exe)

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    (Option: Execute binary/script after shadow creation 'C:\custom\backup\backup.exe')

    [[ CommandLineParser::MainRoutine @ shadow.cpp: 85]] OUTPUT: (Option: Execute binary/script after shadow creation 'C:\custom\backup\backup.exe')

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: 'C:' with 'wx'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: 'C:' with 'wi'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'wait'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: 'C:' with 'exec'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'tracing'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with '?'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'q'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: 'C:' with 'qx'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: 'C:' with 's'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'da'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: 'C:' with 'dx'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 470]] Matching Arg: 'C:' with 'ds'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 468]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'wm'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'wm2'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'wm3'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] ENTER CommandLineParser::MatchArgument

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 453]] Matching Arg: 'C:' with 'ws'

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 457]] Return: FALSE

    [[ CommandLineParser::MatchArgument @ shadow.cpp: 451]] EXIT CommandLineParser::MatchArgument

    [[ IsVolume @ util.h: 244]] ENTER IsVolume

    [[ IsVolume @ util.h: 247]] Checking if C: is a real volume path...

    [[ IsVolume @ util.h: 271]] IsVolume returns TRUE

    [[ IsVolume @ util.h: 244]] EXIT IsVolume

    (Option: Create shadow copy set)

    [[ CommandLineParser::MainRoutine @ shadow.cpp: 85]] OUTPUT: (Option: Create shadow copy set)

    [[ CommandLineParser::MainRoutine @ shadow.cpp: 363]]

    Attempting to create a shadow copy set... (volume C: was added as parameter)

    [[ GetUniqueVolumeNameForPath @ util.h: 309]] ENTER GetUniqueVolumeNameForPath

    [[ GetUniqueVolumeNameForPath @ util.h: 316]] - Get volume path name for C: ...

    [[ GetUniqueVolumeNameForPath @ util.h: 343]] - Path name: C:\ ...

    [[ GetUniqueVolumeNameForPath @ util.h: 347]] - Unique volume name: \\?\Volume{de429c83-0000-0000-0000-100000000000}\ ...

    [[ GetUniqueVolumeNameForPath @ util.h: 309]] EXIT GetUniqueVolumeNameForPath

    [[ VssClient::Initialize @ vssclient.cpp: 45]] ENTER VssClient::Initialize

    [[ VssClient::Initialize @ vssclient.cpp: 48]] Executing COM call '"CoInitialize(NULL)"'

    [[ VssClient::Initialize @ vssclient.cpp: 63]] Executing COM call '"CoInitializeSecurity( NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_PKT_PRIVACY, RPC_C_IMP_LEVEL_IDENTIFY, NULL, EOAC_NONE, NULL )"'

    [[ VssClient::Initialize @ vssclient.cpp: 66]] Executing COM call '"CreateVssBackupComponents(&m_pVssObject)"'

    [[ VssClient::Initialize @ vssclient.cpp: 80]] Executing COM call '"m_pVssObject->InitializeForBackup()"'

    ERROR: COM call "m_pVssObject->InitializeForBackup()" failed.

    [[ VssClient::Initialize @ vssclient.cpp: 45]] OUTPUT:

    ERROR: COM call "m_pVssObject->InitializeForBackup()" failed.

    - Returned HRESULT = 0x80042302

    [[ VssClient::Initialize @ vssclient.cpp: 45]] OUTPUT: - Returned HRESULT = 0x80042302

    - Error text: VSS_E_UNEXPECTED

    [[ VssClient::Initialize @ vssclient.cpp: 45]] OUTPUT: - Error text: VSS_E_UNEXPECTED

    - Please re-run VSHADOW.EXE with the /tracing option to get more details

    [[ VssClient::Initialize @ vssclient.cpp: 45]] OUTPUT: - Please re-run VSHADOW.EXE with the /tracing option to get more details

    [[ VssClient::Initialize @ vssclient.cpp: 45]] EXIT VssClient::Initialize

    [[ CommandLineParser::MainRoutine @ shadow.cpp: 85]] EXIT CommandLineParser::MainRoutine

    [[ wmain @ shadow.cpp: 67]] HRESULT Error caught: 0x80042302

    [[ CommandLineParser::~CommandLineParser @ shadow.cpp: 579]] ENTER CommandLineParser::~CommandLineParser

    [[ CommandLineParser::~CommandLineParser @ shadow.cpp: 579]] EXIT CommandLineParser::~CommandLineParser

    [[ wmain @ shadow.cpp: 31]] EXIT wmain


    5 Mal editiert, zuletzt von Moombas (6. August 2020 um 07:47)

    • Offizieller Beitrag

    Mal ganz dumme Frage: Arbeitet ihr rund um die Uhr oder warum erfolgen Zugriffe während der Datensicherung?

    Ich erledige das alles zwischen 23:00 und 5:00. Zur Sicherung wird die Datenbank dann erst kopiert dann neu indexiert und all der unnütze Schattenmüll entsorgt. Die nun frisch gereinigte DB wird gepackt und die ZIP auf den Backupspeicher geschoben, während die saubere Kopie nun die Original DB ersetzt. (alles natürlich nur bei Erfolg der vorherigen Operation). In 20 Jahren ist meine DB von anfangs ca. 400 MB auf jetzt knapp 2 GB angewachsen aber unverändert schnell. Und seit ich vor etwa 5 Jahren die tägliche Reindexierung eingeführt habe, ist nie wieder ein DB-Problem aufgetreten.

  • Die Zugriffe können wir selber nicht steuern, das kommt vom Hersteller einer unserer verwendeten Software.

    Die Arbeitszeiten sind sehr Unterschiedlich.

    Edit: Ich habe nun folgendes (manuell) hin bekommen:

    In 2 Use-Cases aufgeteilt:

    • Backup erstellen
      1. Backup von C: erstellen (wbadmin start backup -quiet -vssCopy –backupTarget:D: -include:C:)
      2. Das Älteste Backup löschen, wenn mind. 3 *.vhdx Dateien vorhanden sind (wbadmin delete backup -deleteoldest -quiet)
    • Backup einspielen
      1. Backup-Datei ausführen (D:\WindowsImageBackup\PCNAME\Backup 2020-03-31 124454\xyz.vhdx) -> Fehlermeldung ist normal, kann ignoriert werden
      2. im diskmgmt.msc taucht das Backup als "zweites Laufwerk C:" nur ohne Laufwerksbuchstaben auf (Virtuell)
      3. Diesem weist man nun einen Laufwerksbuchstaben zu (z.B.: X:)
      4. Von nun an könnte man Dateien/Ordner kopieren
      5. In diskmgmt.msc das Virtuelle Laufwerk wieder löschen (Es muss erst der Laufwerksbuchstabe wieder entfernt werden und dann "virtuelle Festplatte trennen", sonst ist es ein Einwegbackup XD)
      6. Danach ist diese Backupdatei auf diesem Wege scheinbar nicht mehr zugänglich - Teste ich noch

    Bleibt das Problem der Umsetzung in Autoit.

    4 Mal editiert, zuletzt von Moombas (6. August 2020 um 07:48)

  • Dann rück mal ein paar Infos raus. 8o

    Und falls du dich jetzt fragst, welche: Alles was relevant ist! Denk daran, machst du es den Helfern leicht, dann wird dir geholfen. Kein Glaskugel-Raten :Glaskugel:

    - Ordner zu sichern ist in ?unserer? Windows 10 Version nicht enthalten, nur das ganze Laufwek ist möglich

    ...

    - wbadmin recovery ist in ?unserer? Windows 10 Version nicht enthalten

    Das Recovery ist (warum auch immer), nicht in der "Windowsversion enthalten" (evtl. nur bei Serverversionen?).

    Wie sieht es aus mit "eurer" Windows-Version, Workstation, Server? Welche Architektur, x32 oder x64? Dann schreibst du von vscsc.exe, dann von Wbadmin. Welche Version von vscsc benutzt du? 2003, XP, Vista, 2008, 7? Zu vscsc habe ich gefunden: "As of March 2011, it supports Windows XP, Windows Server 2003 for x86 and Windows Vista, Windows Server 2008 and Windows 7 for both x86/amd64." ==> Vielleicht gibts eine Version für Win 10, aber die zu finden ist dein Job. 8o

    Manche der Funktionen von Wbadmin z. B. "Sicherung aktivieren" haben verschiedene Aufrufe, je nach Betriebssystem. Da ich weder mit vscsc, noch mit wbadmin gearbeitet habe: Welches Format haben denn die resultierenden Backup-Dateien? Wie willst du auf einzelen Ordner zugreifen?

    - Ich muss auf einzelne Ordner des Backups zugreifen können.

    --> Weiß jemand ob man irgendwie auf diese "Backups" zugreifen kann?

    Könnte nicht BugFix' Beitrag eher eine Lösung für dich sein?

    Bernd.

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

  • Professor Bernd :

    Windows 10 Pro 64Bit

    Es wird die aktuellste vscsc.exe verwendet, es gibt leider keine für Win10.

    Siehe meine "neuen" Ansätze einen Beitrag über deinem.

    Problem scheint zu sein, das die cmd, wenn ich sie über autoit starte, irgendwie anders ist.

    Erläuterung:

    CMD über Startmenü kennt wbadmin (hier nur mal einen kurzen Testaufruf):

    CMD über autoit kennt wbadmin (auch mit absolutem Pfad) gar nicht:

    Kennt einer den Unterschied?

    Ich habe auch schon probiert den Link aus dem Startmenü per shellexecute auszuführen, leider der Gleiche Effekt.

    Über Lazarus (FreePascal) funktionierts.

    2 Mal editiert, zuletzt von Moombas (1. April 2020 um 11:05)

  • Na so oft brauchen wir es nicht.

    Das Backup funktioniert ja, wenn ich es über die Lazarus Anwendung laufen lasse.

    Mich wundert das nur bei der CMD aus Autoit das Problem auftritt "wbadmin konnte nicht gefunden werden".

    Ich würde das gerne in Autoit umsetzen, um in einer einheitlichen Entwicklungsumgebung zu bleiben.

    Und der Lazarus Code sieht nun nicht so sehr anders aus:

    Code
    program Backup;
    {$mode Delphi}{$H+}
    uses
      ShellAPI;
    
    {$R *.res}
    
    begin
      ShellExecute(0, nil, PChar('cmd'), PChar('/c wbadmin.exe start backup -quiet -vssCopy -backupTarget:D: -include:C:'), nil, 1);
    end.                

    Und damit brauchen wir keine Tasks etc. und wird wie gewohnt ausgeführt, nur halt die ganze Festplatte anstatt nur einzelne Ordner. Das stört aber nicht.

  • Generell läuft der Recoverypart nun:

    Dennoch würde mich interessieren warum der Backup Part über autoit nicht funktioniert bzw. ob es ggf. noch einen anderen Aufruf für cmd gibt, der das richtig umsetzt.

    KAnn es hierbei Probleme geben, weil das autoit programm in 32Bit kompiliert wurde und Das Win 10 Pro 64Bit ist?

    2 Mal editiert, zuletzt von Moombas (2. April 2020 um 13:52)

  • Hallo Moombas

    KAnn es hierbei Probleme geben, weil das autoit programm in 32Bit kompiliert wurde und Das Win 10 Pro 64Bit ist?

    Ach jo. Da hast du deine Lösung. Aber nicht mal wegen kompilieren, sondern wegen der x86 Variante von Autoit allgemein. Müsste eigentlich aus SciTE das gleiche Problem sein. Benutze mal die Anweisung: #AutoIt3Wrapper_UseX64=Y

    Grüße autoiter

  • Nun kennt CMD zumindest schonmal auch wieder wbadmin etc.

    Jetzt sagt er mir jedoch das die Syntax nicht stimmen würde -.-

    Kopiere ich sie 1:1 aus dem Programm in die geöffnete cmd funktioniert es jedoch. Was will Windoof nun schon wieder?

    Edit:

    Ich glaube mein Schwein pfeifft... Hab den Befehl im Program 1:1 nochmal abgetippt anstatt ihn zu kopieren - läuft! No Comment!

    Danke an alle.