Giter Site home page Giter Site logo

reboot-dialog's Introduction

Reboot-Dialog Tweet


Will run silently in background and show a popup dialog when reboot is needed with snooze options.
My image

Download:


Download from releases

I made this program to solve an issue i was facing where we did not want to force reboots of clients but simply inform them that a reboot was needed with a reminder dialog and snooze options.

Installation

Documented information on how to perform manual installation or automatic using powershell script. The powershell can easily be added to for example SCCM to mass deploy. Install Instructions

How it works and requirements


Requirements

This program is made only for Windows and .Net 4.6+ is required (Built-in for Windows 10).
It does not use/require network access and is fully customizable in the dialog.

  • Windows 10 (any version x86 or x64)
  • Windows 8 & 8.1 (with .Net 4.6 or higher installed)
  • Windows 7 SP1 (with .Net 4.6 or higher installed)

Windows 7 SP1 .Net 4.6 (unpatched except .Net 4.6)

Windows 7 SP1

How it works

When the program is started it will hide it self in the background. You will not see anything on the taskbar or system tray.
Every 5min if there is a pending reboot and if detected it will present a dialog to the user.
It will only allow one process to be started so if you even run this from a scheduled task.
The dialog will be suppressed for the first 15min after the system reboots, this is to ensure patches or other setups have time to finish so no false detection is made.
You can see the process in task manager on the machine and also kill it there if you want.
My image

Detection of reboot is made from three things at this time:

  • Windows Update is installed and pending reboot
  • Component Based Servicing is pending a reboot (can be turned on or off from config)
  • Microsoft System Center Configuration Manager (SCCM) have installed update or application that require reboot
    SCCM Client is not needed it's just an extra check if you have it installed.
  • System boot time, you can configure so the dialog is show if the device have been up for more than X days. Configurable from configuration, default is 0 = disabled.
    (More to come)

SCCM client is not required it's just an extra check and this will work with an Intune only (or other management tool as well).

Default snooze options are set to 15min, 30min, 1 hour or 2 hours.

Trigger/On-Demand mode

The program also has an argument (/trigger) that will prompt the user immediately when executed and give the normal snooze options defined in the configuration.
This mode can be useful if you want to prompt the user for reboot from a script, example after installation of a program.
Example: "C:\Program Files\RebootDialog\Reboot Dialog.exe" /trigger

Customizations


You can change picture, text fields and button text to make it look the way you want it or branded to your company.
All the text can be changed from the file "Reboot Dialog.exe.config".
To change picture, you need to place a file in the same directory called "Picture.png" with size 292x164.
Demo of customizations

Multi-Language

The program support multi-language and you can add/change the texts from the file "Languages.xml".
If you need to change the built-in langauge than you can do that from the "Reboot Dialog.config" file.
Examples is found in the demo page: Demo of customizations

Test mode

Test mode can now be activated with command-line argument: /TestMode
Example: "C:\Program Files\RebootDialog\Reboot Dialog.exe" /TestMode
Test mode will force the reboot dialog to show after 5 seconds and the "reboot now" button will only close the application instead of rebooting.

Customized Snooze options

You can customize snooze options from the applications configuration file (Reboot Dialog.exe.config).
Snooze

Syntax:
Never diapering option: [Text];[Minutes]
Disappearing after X amount of days: [Text];[Minutes];[Days Available]

Examples:
30min;30

  • Snooze the reminder for 30min.

2 Hours;120;2

  • Snooze the reminder for 2 hours, this option will disapear after 2 days of snoozing.

Configuration example (the default)
Snooze options available "forever" 15min and 30min.
User can snooze for 2 hours the first day and 1 hour the first two days.

<setting name="SnoozeOptions" serializeAs="Xml">
    <value>
        <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <string>15min;15</string>
            <string>30min;30</string>
            <string>1hour;60;2</string>
            <string>2hours;120;1</string>
        </ArrayOfString>
    </value>
</setting>

Configuration example "soft forced reboot"
No snooze options available that is available "forever".
User can snooze for 2 hours the first day.
1 hour the first two days.
30 min the first three days.
15 min the first four days.
After four days the dialog will stay on the screen with only reboot button available.

<setting name="SnoozeOptions" serializeAs="Xml">
    <value>
        <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <string>15min;15;4</string>
            <string>30min;30;3</string>
            <string>1hour;60;2</string>
            <string>2hours;120;1</string>
        </ArrayOfString>
    </value>
</setting>

Feel free to request features or submit bugs from the Issues part in github.
I hope you find it useful :-)



ko-fiTweet
Analytics

reboot-dialog's People

Contributors

fredrik81 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reboot-dialog's Issues

Number of times Snoozes can be used

I have a question.
How many times can the snooze option be used?
Is there a way to define it? Or does it depend on SCCM client settings or deployment settings?

My scenario is, we want to limit users to use the snooze option only 3 times and the reboot should be forced after that. How can i achieve this?

Thank you

Change Check Times?

I am loving the program! Thanks!

I have an issue that I wanted to see what your thoughts are.

On a test computer
If I have 5 updates that are needed on a computer and those 5 updates start. After the first update gets installed, the Reboot Dialog pops up, even though the other 4 updates are still installing. I believe that the program checks every 5 minutes? Is there any way I can change/customize how often the Reboot Dialog checks for the rebooting registry?

Thanks,

Rich

Option to Force Reboot

It would be nice to be able to ultimately force a reboot to occur with the dialog showing a countdown to when the forced reboot would happen. The duration for a forced reboot should be customisable and would be something like 24, 48 or 72 hours after the time it detected a reboot was needed.
This should be optional and people can choose if they want to use the force reboot or not.

Unable to find the logic how it was searching for pending reboots and Does it create any task scheduler

Am not able to find the logic how it is checking for pending reboots.
1 ) I did not find it in install.ps1 and in the reboot dialog.config file.
2 )Unable to find the logic how it was searching for pending reboots and Does it create any task scheduler

Request you to please let me know where did you defined the logic to check for pending reboots
Also the syntax says
Disappearing after X amount of days: [Text];[Minutes];[Days Available]
3) i need to make the x amount days to 3 hours

Havent been able to trigger dialog in our environment

We use SCCM extensively and are trying to get a better grip on the reboot dialogs presented to users for packages and MS updates. This looks like a great tool to do this job, but so far I have not been able to trigger the dialog other than via the "C:\Program Files\RebootDialog\Reboot Dialog.exe" /TestMode option. I can see the "reboot dialog.exe" running OK in task manager, but despite creating "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" key and installing pkgs requiring reboot via SCCM, I have not been able to get it to trigger the dialog. Machines are Windows 10 v1809. Any suggestions? Thanks

Add hours config for the snooze options Instead of days

Hi Fredik81

The Tool which you built was really awesome.

Need few more Enhancements to the tool

  1. Add Hours for the snooze option instead of days (like 1,2,3,4 days it should be 1 hour, 2 hours etc..)

  2. Also the tool should prompt a message for the restart if the hours cycle in the snooze option gets completed

  3. it would be great if you can help in changing this days to hours as it was an urgent requirement for me.

  4. is their any possibility see the code that was wrapped in the reboot dialog.exe

Source Code for EXE

Very nice. It definitely solves a problem with Windows 10.

I'd love to help/support this project, but do you have any plans to release the source for the EXE?

Sooze button still shows after reminders are exhausted

Describe the bug
Sooze button still shows after reminders are exhausted, remider options drop down menu shows empty. Clicking on Snooze sometimes crash Rebootdialog.exe

To Reproduce

  1. Configure reminders to expire in 1 and 2 days:
    15min;15;2
    30min;30;2
    1hour;60;2
    2hours;120;1
    4hours;240;1
  2. After 2 dyas, all option will be gone, but Snooze button still shows.

Expected behavior
Snooze Button should disapear when there is no reminders options.
Even better, reminders drop down menu should disapper, leavieng the option only to reboot.

Screenshots
image

image

Desktop (please complete the following information):

  • OS: Windows 1809

Logging

Very cool utility, great work!

Would it be possible to include some kind of log file so that we could track our users' interaction with the reboot dialog? Something like:

[InstallDir]\RebootDialog.log

[DATE] [TIME] Reboot Dialog triggered
[DATE] [TIME] Reason: Reboot required to install Update [ASDGF8235-DFG3-34JG]
[DATE] [TIME] User selected Snooze for 1 hour
[DATE] [TIME] Reboot Dialog triggered
[DATE] [TIME] Reason: Reboot required to install Update [ASDGF8235-DFG3-34JG]
[DATE] [TIME] User selected Reboot Now

RebootDialog Custom requeset

Hi Fredrik81,

thank you for you RebootDialog is a good tool but I need ask if you can change some things.

  1. you can introduce the possibility to hide the two buttons reboot and snooze and the Snooze reminder field at will (15 min..etc), manageable by the xml? (Enable, disable)
  2. Is it possible to insert a countdown before proceeding automatically with the reboot, manageable by xml (Enable, disable, and time to countdown ) ?
  3. Is it possible to insert a close button manageable by the xml (enable, disable)?

I need to display a pre-installation message that displays only a message, and then a reboot message to be added to the sccm task sequences.

Thank you in advance if you can help me.

Change Frequency of Reboot Check

Love the program, but have a feature request. It currently checks for necessary updates every 5 minutes. Can that be configurable via the config file? I'd like to extend that time if possible. I've noticed that if updates are being installed and the process takes more than 5 minutes, the Reboot Dialog is being triggered before the update process is complete. Most users will click the snooze button, but some may actually click reboot while other updates are being installed. Depending on the number of updates, the process can take quite a while. I'd like to be able to set it to run every 2-4 hours. Thanks!

Change Image/Window Size

Is it possible to add an option in the XML to control the image or window size? Or auto size the window based on the size of the image?

Source code for exe-file?

Nice tool! Is the source code for the exe-file available anywhere? If not do you have any plans to release it?

Thank you!
/Matt

Option to supress the pop-up

Is your feature request related to a problem? Please describe.
Could you add an option to the XML to suppress the pop-up as long as the the presentationsettings.exe is running. Users are usually enabling it while the give a Powerpoint presentation - it would be very disturbing when this pop-up kicks in just in this moment.

Describe the solution you'd like
Don't show the RebootDialog Window as long as presentationsettings.exe task is running

Describe alternatives you've considered

Additional context

Text police and restart button color

Hello,
First, nice work !

Second, is it possible for you to add 2 options in the xml file

  1. Change the color of the restart button
  2. Change the text police

Thx !

Disable Button's Shadow

Hello Fredrik,

Can you add an option to disable the shadow of the buttons and snooze time list ?

Regards

Suppress pop-ups until patching has completed

Is it possible to suppress pop-ups until all patches have been installed. For example, there are 10 patches to install, which may take 30 minutes to install depending on the environment, the reboot dialog pops up immediately when it detects the first reboot required installation. Users who click on Reboot button immediately may end up with multiple reboots in a short period. Ideally, it will wait until all patches have been installed and then start to pop up.

Move click snooze to config file

Hello,

First of all, a big thank you for sharing this tool.

Is it possible to make the sentence "Click Snooze to be reminded in:" just above the choice list configurable?
It would allow me to translate it for my users.

Alexis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.