Recommended or required restart states
Use a local WPF restart workflow that clearly separates recommended restart prompts from required restart enforcement, with configurable postpone choices, user-visible state, and operator-controlled wording.
Tool Detail
Windows restart governance with recommended or required states, a local WPF interface, PreviewOnly test paths, exact Intune Win32 version detection, and a stable PowerShell Gallery module.
The public release exposes a clean standalone ZIP package, a clean Intune Win32 package, a stable PowerShell Gallery module, Authenticode-signed PowerShell scripts, and deployment flows that keep runtime configuration local.
Use a local WPF restart workflow that clearly separates recommended restart prompts from required restart enforcement, with configurable postpone choices, user-visible state, and operator-controlled wording.
Validate the restart experience before rollout with PreviewOnly test paths, dedicated launchers, cleaner logging, and support-friendly checks that do not force a reboot during validation.
The Intune detection script records the exact installed version and source, validates the expected GUI files and scheduled task, and confirms that the optional Gallery updater is absent from the clean Intune package.
The stable PowerShell Gallery package supports local install, update, and uninstall workflows, while automatic update remains opt-in instead of enabled by default.
Intune Win32 deployment
The public Intune Win32 package is designed for clean tenant publication. Build from the release artifact, publish each version as a new app, use supersedence for in-place replacement, and assign the new version explicitly so Intune controls rollout, retry, reporting, and rollback.
The publication workflow supports exact version detection, preserves the existing runtime configuration during in-place upgrades, and can resume an interrupted publication with -ResumeAppId instead of creating another app object.
PowerShell Gallery stable package
The public package SmartM365.DeviceRebootManager version 0.1.0 is published on PowerShell Gallery for controlled installation and update scenarios outside Intune packaging.
A standard install does not enable the automatic Gallery update task. Operators must opt in explicitly, which keeps the stable module predictable for support, pilot validation, and privacy-sensitive deployment baselines.
Security and confidentiality
The public release links only the clean ZIP package, the clean Intune Win32 package, the published checksums, the stable Gallery module, and the source tag. It does not expose private runtime configuration or any older private bundle.
Shipped PowerShell files are Authenticode-signed, runtime JSON configuration stays local on the device, and the clean Intune packaging flow is built to avoid publishing tenant-specific or operator-specific data with the release artifacts.
ZIP SHA-256: D7DD3FD9AFAD53BFB5D3975835E78AB26824811FAAD266DF9216B3BCF5A46E3B
IntuneWin SHA-256: 6386CA6C2CFF4318EBDCDACFDBC5B4B911800A3F456D3C9F9EAEC26E1A261296
Quick start
1. Download the standalone ZIP package or the clean Intune Win32 package from GitHub Releases.
2. Verify the downloaded file against the published SHA-256 file and the expected ZIP or IntuneWin hash.
3. Extract the complete ZIP package to a local folder.
4. Run Start-SmartM365-DeviceRebootManager-GUI.cmd for the standard local workflow.
5. Use Start-SmartM365-DeviceRebootManager-GUI-Test.cmd or -PreviewOnly to validate required or recommended restart behavior before rollout.
6. For Intune publication, use the clean .intunewin artifact together with the detection script and supersedence-aware publication workflow.
Current source path
The current GitHub code path is SmartM365/Devices/DeviceRebootManager. The public release tag is device-reboot-manager-v0.1.0, the published source commit is f3a6aa542cea572d792b60283ccdd1243a6e9aa0, the stable module is SmartM365.DeviceRebootManager 0.1.0, and the repository license is GPL-3.0-only. View source commit.