Sleepwalker v4.1 [08 Nov 2023] - by Dominic
Description
This Windows program (batch file) can wake up a sleeping (including hibernating) remote Windows machine by sending a magic packet and then start a Remote Desktop connection to that machine.
All parameters are set by editing one line, normally the fourth line of the program. It uses wolcmd.exe and portqry.exe, both of which are provided in the standard zip package and should be unzipped/saved to the same location as this batch file. (If SET wakeport=0 is used - see optional variables below - then wolcmd.exe is not required.) [ wolcmd.exe is by Depicus and can be obtained directly from https://www.depicus.com/wake-on-lan/wake-on-lan-cmd.aspx. portqry.exe is by Microsoft and you can read about it and download it at https://support.microsoft.com/kb/310099. ]
The remote Windows machine to which you are connecting must have WakeOnLan (aka WOL) enabled both in its BIOS and in Windows Device Manager (on the adapter's 'Power Management' tab i.e. 'Allow this device to wake the computer' and, usually, 'Only allow a magic packet to wake the computer'). Sadly this is often impossible with Wifi network adapters (though there are exceptions), and (at the time of writing) with 10GbE Ethernet adapters.
To connect to machines behind a router on a different local network than the machine on which you are running SleepWalker (e.g. over the internet), or (perhaps) if the remote machine is on the same local network but is via one or more intermediate switches, you probably need to have opened or redirected ports on the router to point to the machines, and you probably also need, on the router, to have bound the machines' macs to an IP; this is so the router will allow a magic packet to pass from the internet to a sleeping machine. Some routers simply do not have this capability, in which case this program cannot help you, sorry. Your router must also respond to a ping from the internet.
The wakeport setting is not significant to the destination computer but it is usually needed by the router at the destination location to redirect the packet to the correct machine. In effect it identifies which machine the packet should be sent to; this is because most routers block broadcast packets sourced from the internet.
It is possible to change the default 3389 Remote Desktop port by a registry fix, but it is better, if your router supports it, to use the router to redirect from another high-numbered port to the local 3389 port; this is more flexible and means the open Remote Desktop connection is less obvious to port scanners.
Required Variable
remote - ip/dns name of remote machine to wake/run Remote Desktop
Optional Variables
mac - mac id of remote machine, if missing this program is just a way to start Remote Desktop
name - appears on the header line of output (unless run with -q)
wakeport - default 9 (set to 0 to skip attempting to wake remote machine)
rdpport - default 3389 (set to 0 to skip launching Remote Desktop)
wakeip - default same as remote
mask - default 255.255.255.255
Command line options
-q: no text unless cannot find wolcmd.exe or portqry.exe or there is some unexpected problem
Exit codes
0 on success, 1 on failure
License
Copyright © 2023 Dominic Raferd. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Changelog
4.1 [08 Nov 2023] - updated help information
4.0 [24 Oct 2022] - remove dual-lan option (which removes ssed.exe dependency), remove ssed.exe from package
3.1 [17 Nov 2016] - switch default wakeonlan port to 9 from 7 (so it works with Wireshark wol.mac/sync/passwd detection), also bugfix - previously in non-verbose mode it used port 7 regardless of setting
Download sleepwalker.bat
Donation
I have provided this software free gratis and for nothing. If you would like to thank me with a contribution, please let me know and I will send you a link. Thank you!
My Other Sites
- TimeDicer - Onsite/offsite data backup for Windows (uses rdiff-backup)
- Finding a 4D Backup Solution
- Web Scraping How To - extracting data from web sites
My Programs
Here is a selection of some (other) programs I have written, most of which run under GNU/Linux from the command line (CLI), are freely available and can be obtained by clicking on the links. Dependencies are shown and while in most cases written and tested on an x86-based Linux server, they should run on a Raspberry Pi, and many can run under Windows using Windows Subsystem for Linux (WSL) or Cygwin. Email me if you have problems or questions, or if you think I could help with a programming requirement.
Backup Utilities
- TimeDicer - Onsite/offsite data backup for Windows (uses rdiff-backup) [ GNU/Linux & MS Windows©: 2008-20 ]
- rdiff-backup-regress - GNU/Linux script to regress an rdiff-backup archive. [ GNU/Linux: 2012-24 ]
Debian/Ubuntu kernel and LVM Utilities
- kernel-remove - GNU/Linux script to list the installed GNU/Linux kernels in a Debian-based distro (e.g. Ubuntu), and can be used to remove an unwanted kernel and related packages, updating grub appropriately. [ GNU/Linux-Debian/Ubuntu: 2010-24 ]
- lvm-usage - GNU/Linux script to show available disk space and how it is used; run as cron job to warn if usage is above a set percentage. Provides additional information if LVM is in use. [ GNU/Linux: 2012-24 ]
- lvm-delete-snapshot - GNU/Linux script to remove LVM snapshot that has been left over by another process. [ GNU/Linux: 2012-21 ]
- netnames - GNU/Linux script shows current name, biosdevname and 'predictable name' of network device - helps with network device name scheme migration. [ GNU/Linux-Debian/Ubuntu: 2020-20 ]
- lv-convert2cache - GNU/Linux script to convert an existing LV into a cache LV using a smaller faster device as a cache. [ GNU/Linux: 2022-23 ]
Miscellaneous Programs
- sleepwalker - Windows© program which can be run from a remote machine to 'wake up' a Windows© machine behind a router, wait for it to start and then initiate Remote Desktop session. [MS Windows©: 2008-22]
- numliststat - GNU/Linux program giving statistical value(s) for a piped-in list of numbers. [ GNU/Linux: 2022-24 ]
- relay-enforcer - GNU/Linux program enabling a postfix-based mail server relaying to Gmail to act on reports from Gmail about blocked emails. [ GNU/Linux: 2016-24 ]
- pdf-compress - GNU/Linux program to create smaller b/w pdf file from an original large pdf file, especially when original resulted from scanning. [ GNU/Linux: 2016-23 ]
- tiny-device-monitor - GNU/Linux program to test webpages (including password-protected) or machines to check they are live; use as a cron job for your own websites, for hardware presenting a webpage, or for any machines with a presence on your local LAN or on the internet. [ GNU/Linux: 2009-24 ]
- form-extractor - GNU/Linux program to extract form tags from a web page or downloaded file. [ GNU/Linux: 2012-20 ]
- mythic-dns-sync - GNU/Linux program to update DNS record at mythic-beasts.com to match local external ip. [ GNU/Linux: 2016-23 ]
- saynoto0870 - For UK, a GNU/Linux script which performs automated lookup of the www.saynoto0870.com database, finding cheap or free geographic number replacements for expensive non-geographic (087* or 084*) numbers. [ GNU/Linux: 2012-12 ]
- bind9-resolved-switch - GNU/Linux program for switching permanently between using bind9 or systemd-resolved as the system DNS resolver. [ GNU/Linux: 2016-24 ]
- unlock - GNU/Linux remote program for easy entering of decrypt passphrase on a remote machine which has root dm-crypt+LUKS. [ GNU/Linux: 2017-18 ]
- wifi-updown - GNU/Linux program to take down wifi interface if there is a working wired interface (or restore wifi if not). [ GNU/Linux: 2018-23 ]
- routefix - GNU/Linux program to restore a default ip traffic route if there is none such (e.g. after running wifi-updown). [ GNU/Linux: 2018-23 ]
- dutree - GNU/Linux program to show a tree-style list of files and directories at the specified location which are greater than the specified size (default 1GB). [ GNU/Linux: 2012-24 ]
- Accounts - Multi-business multi-currency accounting software, uses Access [MS Windows©: 1996-2024]
- Rents Program - Residential lettings/landlord front office program, with many special features for UK market [MS Windows©: 1991-2024]
This section is closed. If you have a question, please submit it by email, thank you.