DShutdown (Dimio's ShutDown)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can download the updated version from this link:

Home: "http://dimio.altervista.org/"



DESCRIPTION:
~~~~~~~~~~~~

DShutdown is a (Freeware) utility that allows the user specific conditions in turning off a computer and/or remote computers in a LAN with Windows 9x/NT/2000/XP/2003/VISTA systems. Such conditions include:

1. After a set period of time.
2. At a specific hour.
3. At a specific hour of a particular day of the week/month/year.
4. When a running program ends.
5. When CPU usage goes beyond a specified level for a given time.
6. When Internet activity is above or below a specified value for a given time.
7. When the modem connection fails, or that of another similar peripheral (net card, etc.).
8. When the user is inactive for a specific time.
9. When a pixel on the screen changes color.
10. When another program (or the same user) asks for a shutdown.



LOCAL SHUTDOWN:
~~~~~~~~~~~~~~~

All it takes is to check "LocalHost" on the IPs list to switch off and your computer will switch off with the selected options.



REMOTE SHUTDOWN:
~~~~~~~~~~~~~~~~

The simplest way is to switch DShutdown on your computer, and RDShutdown on the remote computer (as an option RDShutdown can be installed as a service, you can use the "Install RDShutdown as service.exe" program, in this way the remote ShutDown will work even if you do not login).

It is otherwise necessary for DShutdown to be running on both computers:
In the one to be switched off you will have to check "Allow remote shutdown of this PC" (or write in the command line the parameter /SERVERMODE).

Alternatively, you will need to enter on the "List of computers to be switched off" the IPs of the computers you wish to shutdown (also through the command line).

For every remote IP a combination of specific tasks can be selected for a given computer (log off, reboot... the tasks will be sent together with the command to Turn Off).

Remote ShutDown (if you wish) can be protected by a Password in order to prevent Turning Off other people's computers; -)

If you use a FireWall you might need to create a rule that allows DShutdown to use the 4444 door.

In the remote IPs list you can add other comments, like: "192.168.55.1 (Server K6)", leave a space in-between the IP and the comments.



TYPE OF SHUTDOWN:
~~~~~~~~~~~~~~~~~

1. "LOGOFF" to log off.

2. "SHUTDOWN" on Windows NT - the writing "You can switch your computer off" will appear, i.e. there is the shutdown without Power Off.  
On Windows 9x, if APM/ACPI is supported, it gives Power Off, otherwise as with NT.

3. "Power OFF" (NT only) switches the computer off completely (power down).

4. "REBOOT" Restarts the computer.

5. "FORCE" instead of asking programs to end, it immediately ends them (usually used only in particular cases).
With NT5 it can be combined with the option "FORCE AFTER WAIT" to enhance the effect.

6. "FORCE IF HUNG" (2000/XP/2003/VISTA only) asks programs to end, but if after a given time they do not answer, they are terminated.
This is an option similar to "FORCE AFTER WAIT" but entirely managed by Windows. This method is not as strong as "FORCE AFTER WAIT", yet allows a perfectly clean shutdown (since Windows manages it). This is the favorite option in most cases.

7. "FORCE AFTER WAIT" gives a customary and 100% safe ShutDown.
The option permits turning off a (local or remote) computer as with the "FORCE" option (on NT5 even more) but it allows for program(s) to be ended in a regular way.

Occasionally a program is blocked, inhibiting shutdown, or it asks in a persistent way to be ended, thus making it impossible to close.

The option triggers the following passages:
- It sends standard switching off signals to all active processes.
- It waits for 3 seconds to end the programs.
- It simulates an ending request from the system for programs that are still active (i.e., such programs asking for a confirmation are terminated).
- It waits for 2 seconds to give them the needed time to close down.
- it produces a forced ShutDown. (but by now to be forced there are only some blocked programs).
On NT5 it can be combined with the option "FORCE", in this case, during the final phase, the forced shutdown will be even stronger since it makes use of low-level functions.

8. "STAND BY" sets the computer in Stand By.

9. "HIBERNATE" sets the computer in hibernation (if enabled).

10. "HANGUP" interrupts all active RAS connections (useful for disconnecting the Internet modem from a remote without switching off the computer).

11. "DISABLE LAN ADAPTERS" currently disables running net cards.

12. "File server LESS Mode" switches off remote computers without having to install "RDShutdown" or "DShutdown" configured as server. It is a more limited option -requiring that the user level you are logged in as on the remote computer also has shutdown privileges. 
Note: For Win9x/NT4 -- in order for this options to work (particularly PowerOff and LogOut) it is necessary to download and install the WMI package from Microsoft.

13. "CANCEL IF USER IS LOGGED" (2000/XP/2003/VISTA only) allows cancellation of the remote computer shutdown if someone is logged.

14. "START PROGRAM" at the moment of initiating ShutDown a program can be launched, or a specified file can be opened

15. "WRITE LOG" writes a LOG file with date, time and options of the selected shutdown, before switching off a local computer. Each time the log file reaches 100KB it is cleared and set to zero (however, this practically never happens).
16. "SOUND ADVISE" produces a sound of 5 seconds before the shutdown. Note that if all of the shutdown options are cleared, (Reboot, PowerOff...), then DShutdown can simply be used as a sound Timer.

17. "EXIT PROGRAM" In this way DShutdown ends when the timer goes off. This can be useful, for instance, if you want DShutdown to start a program at a certain time, set a sound, or switch remote computers without performing its shutdown task after these events.

18. "WAKE ON LAN" to switch on one or more remote computers that support this function. The first time you select this option, the remote computer has to be on, otherwise DShutdown won't read the Mac-Address of the remote computer and it will issue an error message.

19. "WAKE UP" This option "wakes up" your computer from a hibernation or similar state, such as "suspend to RAM". It can be used as a simple alarm clock or to have a complete shutdown also when the local computer is in a suspended state.

Recommended settings for typical use are:
Windows 2000/XP/2003/VISTA ---> "POWEROFF" + "FORCEIFHUNG"
Windows NT4                ---> "PowerOff"
Windows 9x                 ---> "ShutDown"



GENERAL OPTIONS:
~~~~~~~~~~~~~~~~

1. "Auto Start" - Allows DShutdown to automatically start with the specific options the user has set during the following reboot. Allows the user to avoid using the command line (which is more versatile yet complex).

2. "Set Default" Sets the selected options as well as the commands that initiate the shutdown (for example, switching off in 10 minutes).

3. "Save settings on exit" Saves the settings but not the commands that determine the shutdown.



SPECIAL OPTIONS:
~~~~~~~~~~~~~~~~

1. You can switch off the computer when another program ends (i.e. switching off the computer at the end of file defragmentation).

2. You can have the ShutDown when the connection falls (not NT4) or when the internet traffic is lower than a certain threshold for a given time (i.e. Shutdown at the end of a download).
It is also possible to choose the connection peripheral to monitor (Analogical Modem, ISDN, ADSL, net Card, virtual devices etc.)

3. You can have a ShutDown when the CPU useage taken by a program goes above or below a set level for a given period. (i.e., switch the computer off after a video encoding).

4. You can turn off your computer when a certain pixel of your screen changes color for a given time. For example, this is useful for initiating a shutdown by monitoring a particular event on the screen, such as a window that closes, a window message that appears, or an icon that changes color...



COMMAND LINE:
~~~~~~~~~~~~~

DshutDown may be initiated using various options in a command line structure, as in a Run command or Batch file. 

Note that in most cases you can obtain the same result by setting various parameters and then clicking on "AutoStart". In fact, when you select "AutoStart" the command line data placed in AutoStart is also to the ClipBoard (allowing this function to be used to create personalized automatic command lines).



SYNTAX:
~~~~~~~

DShutdown.EXE [/Hn] [/Mn] [/DAYn] [/MONTH-n1-n2...] [IP:pcname] [/TYPE] [OPTIONS] [/Fashions]

Mn:         n = Minutes
Hn:         n = Hour
DAYn:       n = Day of the week (Mon-Sat) or of the month (1-31)
MONTHn:     n = Month (Jan-Dec | All)
IP:pcname:  pcname = name (or IP address) of remote computer
TYPE:       LOGOFF
	    SHUTDOWN
	    REBOOT
	    FORCE
            POWEROFF
            FORCEIFHUNG
	    HIBERNATE            
	    STANDBY
	    FORCEAFTERWAIT
            HANGUP
	    DISABLELAN
	    CANCELIFUSERISLOGGED
            STARTPROGRAM "ProgramPath | FilePath"
	    WRITELOG
            SOUNDADVISE
            EXITPROGRAM
	    WAKEONLAN: "Mac-Address"
            WAKEUP
OPTIONS:    SAVEONEXIT
	    SOUNDSTART
MODE:       SHUTDOWNAFTER|SHUTDOWNAT|SHUTDOWNON
            NOW
            HIDDEN
            SERVERMODE
            NOCOUNTDOWN
            INTERCEPTSHUTDOWN



MODE:
~~~~~

/AFTERTIME specifies that the ShutDown will take place after a specific time (Default).

/ATTIME means that the ShutDown will take place at a specific time

/ONDAY means that the ShutDown will take place on a specific date (of the week or of the month) at a specific time.
It is possible to switch the computer off at a certain day of each month by specifying "All" instead of "Jan", "Feb", "Mar"... 

/NOW Gives an immediate ShutDown.

/NOCOUNTDOWN will not have the final countdown (10 sec) and the popup window on the screen.

/HIDDEN the program will run in the BackGround (without even appearing in the TrayBar icon). This is useful in order to avoid its activation by the user without wishing it  (/HIDDEN includes /NOCOUNTDOWN).

/SERVERMODE means that the program will be set to waiting for a remote ShutDown.

/INTERCEPTSHUTDOWN at the moment in which the local computer is automatically switched off, the remote computers are also switched off.

/IP:pcname It is needed to switch off a remote computer with a command line, all TYPE options that will follow will be referred to it. So, if you wish to switch off a remote computer and switch on another you will have to set: /NOW /IP:192.168.55.2 /poweroff /IP:PcAthlon /reboot



EXAMPLES OF SYNTAX:
~~~~~~~~~~~~~~~~~~~

1. Immediate local computer switch off:
/NOW /PowerOff
 
2. Local computer switch off in 5h and 8m:
/h5 /m8 /PowerOff

3. Immediate remote computer switch off:
/NOW /IP:192.168.55.2 /poweroff

4. Local computer switch off at 20:30:
/AtTime /h20 /m30 /PowerOff

5. It hides the program icon and waits for a remote ShutDown:
/HIDDEN /SERVERMODE

6. local computer switch off at 13:00 and two remote computers reboot:
/ATTIME /h13 /poweroff /IP:192.168.55.2 /reboot /IP:PcAthlon /reboot



POSSIBLE PROBLEMS:
~~~~~~~~~~~~~~~~~~

The option "INTERCEPT SHUTDOWN, THEN AS SELECTED" does not work if the intercepted is forced. In such cases, all programs (DShutdown included) are suddenly ended without any possibility of intervention/interception.


Automatic switch off will work only on a modern computer that can support automatic power off with the APM/ACPI activated by the BIOS (if after exiting windows your computer switches off, it means that APM/ACPI is supported, (If you receive the message "Now you can switch off your computer," APM/ACPI is not supported)


When you select "Allow remote Shutdown of this PC", the program starts waiting for the initiating action via the 4444 door (port). If this door is used by another program (not likely, but possible) the user is unable to select this box).



NOTES:
~~~~~~
This program uses UPX technology (http://upx.sourceforge.net /) to increase its portability.



PROGRAMMERS:
~~~~~~~~~~~~

Dimitrios Coutsoumbas (Dimio)
E-MAIL : cyberdimio@gmail.com
HOME   : http://dimio.altervista.org/



BETA-TESTERS (In alphabetical order):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fr3ddie (the most efficient beta-tester in the world: -)
Guido2mila
Kanarina
The Fish
WhiteForest