Es gibt Kunden bzw. Anwender die führen eine Datensicherung nicht automatisch, sondern manuell durch. Basierend auf dem Skript Rotationssicherung mit Drive Snapshot v2 bereite ich gerade eine etwas abgewandelte Form der Sicherung vor.

Der Hintergrund liegt darin, das ein Kunde möchte, das nach der Anmeldung, also via Autostart um genau zu sein, die Sicherung ausgeführt wird. Parallel dazu soll eine manuelle Sicherung ebenso möglich sein.

Keine große Sache und damit das Ganze etwas “hübscher” wird, dachte ich mir, ich schreibe eine kleine Exe-Datei mit AutoIt und starte darüber die eigentliche Sicherung.

Was unter Windows XP noch absolut stressfrei über die Bühne geht, führt ab Windows Vista dank der Benutzerkontensteuerung (UAC) zu einem kleinen Problem.

Das Backup-Skript schreibt ein Protokoll, normalerweise, wenn eben nicht die UAC in die Quere kommt. Das “Problem” liegt schlicht darin, das nicht nur die snapshot.exe mit erhöhten Rechten ausgeführt werden muss, sondern auch das eigentliche Skript.

Ironischerweise wird eine neue Protokoll-Datei selbst ohne erhöhte Rechte erstellt, allerdings füllt sie sich nicht mit Inhalt.

Lange Rede, kurzer Sinn: Die Lösung liegt in einem einfachen AutoIt-Skript. Eigentlich geht es nur um zwei Befehle. Die Kommentare klären darüber auf.

; Disable AutoIt Tray Icon
; Bei 2 wird's ausgeblendet.

 TraySetState (2)

; Force UAC
; Wichtig ab Windows Vista, da sonst kein Log geschrieben wird.

 #RequireAdmin

; Run Batch-Script

  Run (@ComSpec & " /c " & "Backup.cmd", "C:\Backup")