workaround – James Batchelor https://james-batchelor.com Useful I.T & VoIP Ramblings Thu, 02 Jun 2016 16:11:57 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.5 https://james-batchelor.com/wp-content/uploads/2025/05/cropped-cropped-logo-jb-202505-32x32.png workaround – James Batchelor https://james-batchelor.com 32 32 2 Servers 1 UPS, Windows 2012 Edition https://james-batchelor.com/index.php/2016/05/29/2-servers-1-ups-windows-2012-edition/ Sun, 29 May 2016 22:47:53 +0000 http://james-batchelor.com/?p=404 Continue reading "2 Servers 1 UPS, Windows 2012 Edition"]]> In a previous post I showed how to shutdown two servers safely using just one UPS with a single communications port. It was pretty straight forward with the comms port connected to a Windows Server 2003 machine.

But doing the same with Windows Server 2012 is much more difficult, since Microsoft decided to remove the ability to run a program on a low battery event from its power management settings. To make things worse I discovered that a bug in Server 2008 and later meant that issuing a Shutdown command from the native power settings would not perform a clean shut down, instead killing the power in a few seconds. This is not good news for RAID arrays and data integrity.

Time for a new solution, and since Microsoft are of no use, help would need to come from a 3rd party. After research and testing answer came from Shutter, a small program that runs as a trigger and event type program for a variety of different scenarios, with battery discharging status being one. Luckily two instances of the program could be run, one to shut down the remote servers and another for the host machine. Importantly the program can also be run as a Windows service, but more on this in the walk through.  here is how it is done:

Download the portable version of Shutter from den4b.com.

In the Windows directory, create a new folder, here it will be named ups.

In that folder create another 2 folders, one will handle the local server shutdown and the other for remote servers.

Copy the contents of the downloaded Shutter zip to both of the folders.

Before opening the program for the first time, create a .bat that will issue commands to shut down servers. Open Notepad and enter the following text:

shutdown /s /f /t 10 /c “Battery Backup Low”

This is for shutting down the host server. To save, select the folder to be used for host shutdown, in the file type menu select All files, and create a file name with it ending in .bat

Do the same for remote server shutdown using this script, and save to the remote folder:

shutdown /s /f /m \\SERVER /t 10 /c “Battery Backup Low”

Replace SERVER with the name or IP address of the other server running on the UPS.

Now go to the local shutdown folder and open Shutter.

In the events box, add battery and choose a trigger percentage and add. In the action box, choose run a program, and locate the .bat file you created for shutting down the host server.

Shutter

Important: Go to the settings window and copy the following options:

Shutter Options GeneralShutter Settings Advanced

Save settings and the program can now be closed. Repeat these steps to shut down the remote server, it’s essential to set the battery percentage trigger higher for remote server as they will not get the signal if the host server has already shut down, I recommend at least 5% higher as a safety net especially if the UPS battery drains quickly.

As a power outage is an unpredictable event, Shutter needs to be running at all times on the host server, therefore it needs to be ran as a system service. Microsoft did release a tool that could allow any program to run as a service, however it is very basic and will not restart a program if it happened to crash. Lucky a superior utility by the name of NSSM is available that takes this into account, it also has a more user friendly interface to set up services.

Download the latest release of NSSM and place in the main folder created previously, as it needs to be run alongside the Shutter instances.

From a Command Prompt, navigate to the folder holding the program, by using cd, then a space and the full path to the folder, e.g: cd C:\Windows\ups

Type nssm install and enter, and the new service setup screen will appear.cmd nssm

Choose the Shutter program to run, and create a name to the process, additional details can be made in the Description tab.

nssm install

Move to the login tab and select Log on as, then use an account capable of administrator access and password details.

Click create service and its installed, repeat the process for the other shutter program, giving it a different service name.

By default, these newly created services will start when Windows starts, but need to be started manually when first installed. To start them, the simple option is to restart the machine, but much better would be to press the Windows key & R, then type services.msc and click Run. Scroll down the list to the created services, right click on each and choose start.

Testing

It’s worth testing to see if it works rather than just hoping it does. And to save the wait for the batteries to discharge its worth raising the trigger values on Shutter to shut down the machines earlier, this also gives the benefit more charge left if the shutdown does not work.

Before opening Shutter to change values, the services need to be stopped. Open services.msc like before and chose stop against the service.

Make the changes in the action box, its recommended to choose somewhere between 70 and 90 percent. Close the programs and start the services back up. Then testing is as simple as unplugging the UPS from the wall, for security the host machine can be left logged on to monitor the remaining battery percentage so you know when the trigger points are happening.

]]>
2 Servers, 1 UPS https://james-batchelor.com/index.php/2015/12/10/2-servers-1-ups/ Thu, 10 Dec 2015 14:10:32 +0000 http://james-batchelor.com/?p=382 Continue reading "2 Servers, 1 UPS"]]> 2 Servers, 1UPSWith the new server up and running it seemed fitting to connect it to my UPS, and thanks to the low power consumption of the HP Microservers I still get around 40 minutes of battery only time with both servers running before the UPS runs out of juice.

Unfortunately, the UPS in use only has one monitoring port which is connected to my original server, meaning during a spell of prolonged power outage, the new server will not know when to shut down safely and will continue to run until the UPS runs out of battery supply, leaving it vulnerable to data corruption that affected the original server prior to battery backup.

But with a simple script and some setup both servers can shut down safely before the batteries run out.

The Idea is to have a script sent from the host server with instructions to shut down the other server when the battery level runs low, luckily Windows gives the ability to run a program on low and critical power level notifications, with adjustable power level triggers.

The most important factor with this idea is that the host server is able to communicate and send the script to the other server, in my current setup both servers are connected to the main network switch that does not have battery backup, meaning that during a power outage the servers will be unable to communicate and therefore unable to shut down safely.

The simple solution was to introduce another switch close to the servers that has power provided by the UPS, for this I chose a NetgearProsafe GS105 and connected both servers to it, with an uplink to the main switch. This also has the advantage of removing traffic away from the main hub when backups between servers take place.

Netgear Prosafe GS105, powered from the UPS
Netgear Prosafe GS105, powered from the UPS

With the servers connected via a backed up power source, it is time to create the shutdown command. On the host server connected to the signal of the UPS, create a .bat file using Notepad with the following line:

shutdown /s /f /m \\MACHINENAME /t 10 /c “Battery Backup Low”

This script tells the computer MACHINENAME to force a shut down in 10 seconds regardless of who is logged in, for those that are the message “Battery Backup Low” will be displayed. The script was then saved to the Windows directory to help avoid accidental deletion.

From the host server, open the power settings from the Control Panel, on the Alarms tab choose Alarm Action on the Low battery alarm field. Check the Run program box and choose the .bat file created to run on the low battery alarm. I chose the Low power instead of Critical to allow the other server to shut down as the Critical would be reserved for the host server itself to shut down.

Power Alarm Settings
Power Alarm Settings

For testing I chose to put the alarm settings pretty high, which makes the process quicker and also allows more time for a safe shutdown when on battery power. Apart from that the only way to test is to kill the power from the wall and see what happens, look for the other server setting down first as it will hit the Low battery first, then wait for the host server to shut down later. Expect the host server to last a little longer than expected as with the other server shut down, the battery life doubles on two identical machines when one is off.

]]>
Installing HP Printer on Windows Server 2003 https://james-batchelor.com/index.php/2012/10/22/installing-hp-printer-on-windows-server-2003/ https://james-batchelor.com/index.php/2012/10/22/installing-hp-printer-on-windows-server-2003/#respond Mon, 22 Oct 2012 19:17:24 +0000 http://james-batchelor.com/?p=65 Continue reading "Installing HP Printer on Windows Server 2003"]]> Connecting a printer to a server compared to a desktop system is not as straight forward as it may be perceived. Whether the manufacturers software simply refuses to install on Windows 2003 or insists on adding a load of bloatware on your system, here is how to get around it:

Step 1: Start by downloading the basic version of the drivers from the HP website, choose Windows XP drivers if there are none for Windows 2003

Step 2: Open the executable file, allow it to extract and display the first setup screen. Here, depending on the printer chosen it may let you continue with the setup, or stop the installation there telling you the operating system is not supported.

Photosmart-1

Whatever the installation screen displays, DO NOT CLOSE THE WINDOW, while its open all the files you need are made available. Next navigate to your temp folder. TIP: Go to Start Menu à Run, and type  %temp%. This will bring up your temp files.

Photosmart-2

In the temp folder, look for a folder containing the setup files that were extracted as part of the installation, it will usually have .inf files that contain the printer model as part of the filename, below is an example of the drivers to install a HP C4700:

Photosmart-3
Look for references in the file names that match your printer’s

Step 3: At this point its best to copy (not move) the contents of the folder to a more convenient location. When a copy is made, you can close the installation utility as you have all the files in a new location.

Now navigate to Start > Settings > Printers and Faxes, and then start the Add new printer wizard.

After the intro splash, choose “Local printer attached to this computer” and un-check the box for “Automatically detect and install my Plug and Play printer”

Note: Step 4 is for installing a printer over a network, if you are connecting via USB, skip to step 5.

Step 4: Click next, on the next screen you will want to select “Create a new port” and choose “Standard TCP/IP port” from the drop-down menu, as below:

Photosmart-4

This brings up a new wizard, after the intro splash onto the add port screen, type the IP address of the printer:

Photosmart-5

NOTE: To save reconfiguration in the future, remember to set the printer to have a static IP address as you are not installing the program that find the printer on a dynamic IP address.

The next screen, leave the settings as a “Standard device type” and “Generic network card”. Clicking next brings you to printer software screen.

Step 5: Click the “Have Disk” button and navigate to the copy of the installation files.

Photosmart-6
Choose the most generic file name.

Only .inf files show, and you want to choose the most generic file name that is similar to your device, in this case above hpC4700.inf seems the most obvious.

If the right file has been chosen, you see your printer display as below.

Photosmart-7

If you get a warning message about a digital signature, choose “Continue Anyways”, but make sure you downloaded the drivers from a reputable site, such as the official HP website.

The installation wizards copies the files, then choose to print a test page to make sure all is well, and your HP printer appears in your printers folder.

Photosmart-8

]]>
https://james-batchelor.com/index.php/2012/10/22/installing-hp-printer-on-windows-server-2003/feed/ 0