UTM zurücksetzen

Grundsätzlich

Virtualisierer / Emulatoren wie z.B. Qemu oder UTM haben oftmals keinen oder keinen vernünftigen Mechanismus, um Snapshots der virtuellen Maschine zu verwalten. Man kann sich behelfen, indem man die VM dupliziert, bevor potentiell ungewollte Änderungen vorgenommen werden.

Voraussetzung

Man verwendet UTM und hat bereits einige VMs. Diese werden dupliziert und dem Dateinamen Vorlage angehängt. Wird dieses AppleScript aus dem Menü aufgerufen, löscht es die VMs, dupliziert die Vorlagen und benennt die Kopien wieder so um, wie die gelöschten Original geheißen haben.

AppleScript

Im Skripteditor öffnen

(*
UTM zurücksetzen

Copyright © 2024
Café MegaByte
*)

--Sind Sie sicher?
display dialog "Sollen die UTM-VMs zurückgesetzt werden?" buttons {"Abbrechen", "OK"} default button 2

-- Pfad zum Ordner mit den UTM-VMs
global theFolder
set theFolder to "Library:Containers:com.utmapp.UTM:Data:Documents:"

-- Namen der UTM-VMs
ResetVM("MacOS 12 Monterey.utm")
ResetVM("MacOS 14 Sonoma.utm")
ResetVM("Sonderprogramme.utm")
ResetVM("MacOS 10.13 High Sierra.utm")
ResetVM("Windows XP.utm")
ResetVM("MacOS 15 Sequoia.utm")

-- Unterroutine für eine VM
on ResetVM(theVM as text)
	tell application "Finder"
		
		-- Päärchen mit Kopiervorlage
		set theTarget to theFolder & theVM
		set theSource to theTarget & " Vorlage"
		
		set theSource to folder theSource of home as text
		set theTarget to file theTarget of home as text
		
		-- Alte VM löschen
		move theTarget to trash
		
		-- Vorlage kopieren
		set theCopy to duplicate theSource
		
		-- Kopie umbenennen
		set name of theCopy to theVM
		
	end tell
end ResetVM