{ "$schema": "https://json-schema.org/draft-07/schema", "title": "Hyper-V Backup Script Settings", "description": "Configuration file for hyper-v-backup.ps1 script", "version": "1.0.1", "lastModified": "2026-01-26", "schedule": { "runMonth": [], "runWeekday": ["Monday"], "runTime": ["00:00"], "minIntervalMinutes": 10 }, "backupRoot": "\\\\nassrv0001.corp.maks-it.com\\data-1", "credentialEnvVar": "nassrv0001", "tempExportRoot": "D:\\Temp\\HyperVExport", "retentionCount": 3, "excludeVMs": ["nassrv0002"], "_comments": { "version": "Configuration schema version", "lastModified": "Last modification date (YYYY-MM-DD)", "schedule": { "runMonth": "Array of month names (e.g. 'January', 'June', 'December') to run backup. Empty array = every month.", "runWeekday": "Array of weekday names (e.g. 'Monday', 'Friday') to run backup. Empty array = every day.", "runTime": "Array of UTC times in HH:mm format when backup should run.", "minIntervalMinutes": "Minimum minutes between backup runs to prevent duplicate executions." }, "backupRoot": "UNC path or local path to backup root directory. Hostname will be appended automatically.", "credentialEnvVar": "Name of Machine-level environment variable containing Base64-encoded 'username:password'", "tempExportRoot": "Local directory for temporary VM exports. Space is checked dynamically per VM (1.5x VM size).", "retentionCount": "Number of backup generations to keep (1-365). Older backups are automatically deleted.", "excludeVMs": "Array of VM names to exclude from backup process" } }