120 lines
4.0 KiB
INI
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
|