Files
windows-updater/config.example.ini
2026-07-07 10:14:27 +02:00

120 lines
4.0 KiB
INI

###############################################
# Windows Updater - Configuration
# Lines starting with # or ; are comments
# Copy this file to config.ini and adjust values
###############################################
[General]
# Path for log files (one file per day)
LogPath = C:\logs\windows-updater
# Number of days to keep log files (default: 365)
LogRetentionDays = 365
# Dry-run mode: scan and report only, do not install (true/false)
DryRun = false
# Update type: All (all updates), DefenderOnly (only Defender definition updates)
# Can be overridden with -DefenderOnly parameter
UpdateType = All
[WindowsUpdate]
# Use Microsoft Update (includes Office, .NET, drivers) instead of Windows Update only
UseMicrosoftUpdate = true
# Exclude specific KB articles (comma-separated, e.g. KB1234567,KB7654321)
ExcludeKBs =
# Exclude driver updates (true/false)
ExcludeDrivers = false
# Number of retry attempts for failed updates (default: 3)
RetryCount = 3
[Winget]
# Enable winget upgrade --all (true/false, default: false)
# Only works on Windows 10/11 with winget installed, auto-skipped if unavailable
Enabled = false
[Reboot]
# Enable automatic reboot after updates if required (true/false)
Enabled = false
# Reboot mode: immediate, delayed, scheduled
Mode = immediate
# Delay in minutes before reboot (only for Mode = delayed)
DelayMinutes = 5
# Time to reboot at in HH:mm format (only for Mode = scheduled, e.g. 03:00)
ScheduledTime = 03:00
[Notification]
# --- ntfy ---
NtfyEnabled = false
# ntfy server URL (e.g. https://ntfy.sh or your self-hosted instance)
NtfyUrl = https://ntfy.sh
# ntfy topic name
NtfyTopic = windows-updates
# ntfy access token (leave empty if not required)
NtfyToken =
# ntfy priority: min, low, default, high, urgent
NtfyPriority = default
# --- Email ---
EmailEnabled = false
SmtpServer = smtp.example.com
SmtpPort = 587
SmtpUseSsl = true
SmtpUsername =
SmtpPassword =
EmailFrom = updater@example.com
# Multiple recipients comma-separated (e.g. admin@example.com,ops@example.com)
EmailTo = admin@example.com
# Send HTML formatted report with update table (true/false)
EmailHtmlReport = true
# --- Microsoft Teams ---
TeamsEnabled = false
# Webhook URL for Microsoft Teams (Incoming Webhook connector or Workflows)
TeamsWebhookUrl =
[NotificationEvents]
# Control which events trigger notifications (true/false)
# All events are enabled by default
# Module load failure - PSWindowsUpdate could not be loaded
NotifyOnModuleError = true
# Pre-update hook failed and aborted the update process
NotifyOnHookFailure = true
# No updates available
NotifyOnNoUpdates = true
# Dry-run mode report with list of available updates
NotifyOnDryRun = true
# Update scan failed (e.g. network error, service unavailable)
NotifyOnScanError = true
# Summary after update installation (success and errors)
NotifyOnUpdateComplete = true
# System reboot triggered (immediate, delayed, or scheduled)
NotifyOnReboot = true
# Reboot required but auto-reboot is disabled
NotifyOnRebootRequired = true
# Service Watchdog failed to restart one or more services
NotifyOnServiceRestartFailure = true
[ServiceWatchdog]
# Enable service watchdog: restart specific services after updates when no reboot is required
Enabled = false
# Comma-separated list of Windows service names to restart (use the service name, not the display name)
# Example: Services = Spooler,W3SVC,MSSQLSERVER
Services =
# Seconds to wait for each service to reach Running state (default: 30)
WaitSeconds = 30
# Number of restart attempts per service (default: 3)
RetryCount = 3
[Hooks]
# Path to PowerShell script to execute BEFORE updates (leave empty to disable)
PreUpdateScript =
# Abort update process if pre-hook script fails (true/false)
AbortOnPreHookFailure = false
# Path to PowerShell script to execute AFTER updates (leave empty to disable)
PostUpdateScript =
[History]
# Enable persistent update history tracking (true/false)
Enabled = false
# Path for the history file
# Uses .xlsx format if ImportExcel module is available, otherwise falls back to .csv
HistoryPath = C:\logs\windows-updater\update-history