The importance of redundancy

Today I had an experience that is not too far off from experiences I’ve seen and experienced in the past, though, not directly caused by me. As a typical (non-ma’ pa’) business setup, it is perfectly normal to have 2 or more domain controllers with DNS on a Windows based network. You ALWAYS want to point your DNS settings in DHCP to your domain controllers (Note the s in that last word). The experience was of maintenance on a server that caused a partial network ‘outage’ as it wasn’t able to find a second DNS server when maintenance was started on the Domain Controller 2. The problem came when, out of our 4 domain controllers, the one I happened to be doing maintenance on was the only one in use by the network…… (and mind you this is a 2008 domain controller, not our Server 2016 domain controller, yes that is an 8 year old server).

This is why redundancy is SO important. You should ALWAYS specify 2 DNS servers if you are in charge of a network. And you should be very conscious of what servers could be decommissioned in the future as well. You should feel a nasty feeling in your gut until you have a second one in there. You should always have more than 1 uplink to your VMWare hosts preferably on a secondary network card. Hardware failure isn’t super common these days, but it does happen. If your company is larger, you want to be sure you have HA (high availability) running on your core network equipment. You want to pay for a second internet provider.

Whether it is a network, a virtual machine, or something else that is business critical, PLEASE make sure you have redundancy built in to prevent issues like this. And if you are the one performing maintenance, you do always want to go over a mental checklist of what a server is performing for the business. If you are also controlling the network, you should NEVER have holes as giant as specifying only 1 DNS server in your network.

Please note, I was not responsible for the network in this particular scenario.

System image vs post install scripts

When it comes to a system image vs running scripts to set up a new computer and the necessary software, I find there is a healthy balance. On one hand it makes much more sense to create an image so out of the box its ready to go, but on the flip side, you have to update the drivers, the software, etc. In my experience, it makes sense to have a balance of both. Install items that update frequently via script so you aren’t plagued with updating your image 5 times a month or manually updating the software on deployment, or just install it via script. Usually installers these days pull the latest version anyhow and its not like the older days where it would be a static version that you downloaded. Take Ninite for example. I’d prefer running it once to having Chrome, Firefox, and whatever other small apps the company required be out of date 2 weeks after I created the image. Granted, the licensing can be a bit spendy for some companies. Some might argue…. why not just run Ninite again to update them. True… easy enough, but why? I like things “fresh”. “Clean”. Call me the tree hugger version of the IT squad I guess. Regardless, there’s never a one-option solution in IT. And that is one of the things that makes it so great!

Change all users to an alternate domain suffix

In Active Directory users and computers, right click Queries> New. Give it a name, click “define query”. Stay on the “Users” tab. Select “Is not” and type an invalid name like testtesttest. Click ok, ok. It should return a result with all users whose name is <<not>> testtesttest. Select all, right click> Properties. Go to Account tab> check “UPN Suffix” and change it to the appropriate suffix. That’s it! There are PowerShell methods to do this too but when handling hundreds of user accounts, you have to be absolutely careful in PowerShell. There are solutions online that work fine that I am not going to post here. This is purely for the GUI. Good luck!

Exchange and AD Powershell Useful Commands

I’ve had a few odd issues & tasks with Exchange 2010 and AD recently and wanted to take a moment to document them as well as the command used to resolve the issue:

The following command was useful to resolve an issue of multiple copies of the same shared mailbox showing where only one would allow access and the other copies would only fail to open.

Add-MailboxPermission -Identity <shared mailbox alias> -User <your mailbox alias> -AccessRights FullAccess -InheritanceType All -Automapping $false

The following will find all active user accounts whose Password Never Expires attribute is set to true formatted in a nice table of username and the value. Value is not really necessary because it should only return true, but everyone loves a sanity check right?

get-aduser -filter * -properties Name, PasswordNeverExpires | where { $_.passwordNeverExpires -eq "true" } | where {$_.enabled -eq "true"} | Format-Table -Property Name, PasswordNeverExpires -AutoSize

Stock Alerts

Stock Alerts

Boxstorm has the capability to provide stock alerts for users when inventory in a location reaches below a minimum
quantity. These are established as Reorder Points in the Items Module.

An alert may be sent to a user via SMS or Email, as specified in the Reorder Points Tab of each Item.

Reorder Points allow you to set min, max, and alert levels for each of your parent locations.
If a phone number or email address is provided, a notification will be sent when the total inventory on
hand for that location reaches the alert levels.

Create a Stock Alert

  • To create a stock alert, go to the Items Module and select the desired item from the list.
    After opening the item, choose the Reorder Points tab. Click the Add Item Reorder

    icon in the upper right hand corner.
  • Once the Set Reorder Details box is open, enter the information for this item and click

  • Parent Location – The head location for this item.
  • Min – The minimum inventory quantity that should be in stock for this item.
  • Max – The maximum inventory quantity that should be in stock for this item.
  • Alert – The inventory quantity amount that triggers an alert to be sent to the phone and/or
    email associated with this item.
  • Phone (SMS) – The phone number to receive a message when the specified alert level has been
  • Emails – The email address to receive a message when the specified alert level has been

The Item Reorder Points tab will show a list of all Parent Locations associated with this item.
Each Parent Location can have their own min, max, and alert levels.

The Setting icon will allow the user to choose which columns are view-able in the Reorder Points

What do the Min and Max mean?

The minimum and maximum levels set here are for the Auto – Purchase Order creation. When the Auto Order
feature is selected (from the Purchase Order Module), any items that are below their minimum levels will automatically be
created on a PO. The alert level is the number referred to when SMS or Emails are sent, not for
when a PO is to be created.

Import Alert Levels via CSV File

Reorder Point Levels (Alert/min/max levels) may be imported in mass through a CSV file.

1. First, choose the Import/Export icon from the upper right hand corner of the Items Module. Choose
Reorder Point: Import

2. All Imports provide you with the option to download a sample CSV file.
This will help you to see how a file should be formatted so that it can correctly import. You can use this file
as a template and delete the information shown for the sample database (recommended), or you can create
your own file and add each of the headers needed yourself.

3. Once the CSV file has been properly formatted, repeat Step 1 above. This time, select Choose File.

4. Once uploaded, your screen will show a summary report like the image below. If the file
has been filled accurately and has all of the necessary information in the correct places you will see green
check marks next to the columns. If there is data that needs a little more specification there will be a red
X and a notice asking you to choose the correct column for the info. For example, if the system can not tell
which column on your spreadsheet is supposed to be the description, it will ask you to select the column manually
using the dropdown. If you continue to have problems with the upload after this point, please contact (support@boxstorm.com)
and attach your spreadsheet as well as a screenshot image and detailed description of the problem. Once the columns
are appropriately matched, click Next.

5. A summary page of all the reorder points to be imported will be shown. Here you can click
on any field to finalize the import and make any last minute changes. Once you are satisfied with your import,
choose the Import Data option in the lower right hand corner.

6. Congratulations! You have now imported your reorder points into your database. If you have
any difficulty after reading this documentation, please email support@boxstorm.com. It will be helpful if you
include the spreadsheet or details on what you need help with when you contact us.



The Permissions Module allows administration to create and assign users to specific Groups. Each Group
is custom made, has an unlimited number of people that can be assigned to them, and can be given
different Module rights. For example, some users may be given Full Access, while others may be given
access only to Purchasing or Sales.
Note: Only those with admins rights are able to create and grant User permissions.

Show or Hide Columns – This icon allows the Module to be customized by showing or hiding
the Name or Description columns.

History – This icon shows a history of the Group, including any Users who made changes.

Create a Permissions Group

1. In the
Permissions Module click the
New icon in the upper right hand corner. A
New Permissions Group box will be displayed.

2. Under the
Main Info Tab, enter the
Name and
Description of the Group. The right side will display the list of Users associated with
this Boxstorm account. Choose the users to be added to this group by checking the box next to their

3. Click the
Permissions Tab to view and grant access to all of the different permissions for this group.
Checking the box next to each module will grant permission to all of the features within that module.
If only partial module permissions should be granted, the box next to individual features within
a module may be checked.

4. Click
Save to save all changes.

Filter Permissions

1. Filters may be added by choosing the
Filter Permissions button located in the upper left corner of the Permissions Module. Choose
to filter by
Name or
Description and click


2. To
Save a filter for quick future access, simply choose the
Save icon.

3. To
delete a filter click the ”
X” located next to the filter name and click
Yes to confirm deletion.

Delete a Permissions Group

A permissions group may be deleted by first checking the box on the row next to the group name. The selected
row will become visible where the
icon is now available. Choose
Yes to confirm the group’s deletion.


Frequently Asked Questions (FAQs)

The following questions are those most asked to our Sales and Support team! Before reaching out to our staff, we recommend browsing these questions for some insight.

How can I schedule a Boxstorm Training?

Existing customers: Email support@boxstorm.com with a list of questions and a preferred date and time.

Prospects: For those looking into Boxstorm for the first time, email Christy Hair at: christy.hair@boxstorm.com

How do I reset my password?

On the login screen click the “Forgot Password” link to receive an email that helps reset your password. If an email does not arrive soon, please check any spam and junkmail folders.

How do I import and export?

Almost every module has the capability to import/export data in batch files.

  • Go to the desired module and click the 3 vertical dots  located in the upper right hand corner of the screen.
  • Choose to Import/Export items.
  • We recommend downloading a sample CSV file to first see the correct format that a file needs to be in.
  • Once the CSV file is prepared correctly, it may be imported by using the Import | Choose File option.

Please see Import Items using a CSV file  for additional step by step instructions.

Does the Auto Create create a PO per item or per vendor?

The Auto Create will create a PO per vendor.

How do reorder points work? What are they for?

Reorder points set a minimum and maximum threshold for when an item should be reordered. If setup, Boxstorm will automatically create Purchase Orders through the Auto Order feature when these points are crossed. Low stock alerts may also be sent via email or text.

Additional information may be found at: Create an Item (reorder points) and Purchase Orders.

How do I undelete an item?

1. Go to the Items Module and click the Filter Items option in the top left corner.

2. Filter Items by Active Status | Deleted. Click Apply.

3.  Highlight the checkbox of the item to be undeleted and click the  “Undelete Selected Rows” icon. Click Yes to confirm the decision.

How do I add or remove inventory?

  • In the Items Module focus on the line item of interest and choose the  Inventory icon located on the far right side.
  • A list of inventory items by location are found in the pop up box. Select the location to modify and choose to Add, Remove, Cycle, adjust Cost, or Move inventory.

For additional detailed instructions please see Adjusting Inventory for an Item.

How are the Boxstorm web and mobile app different?

Unlike the web app, the iOS and Android apps cannot create sales orders or purchase orders. The current purpose of the mobile app is to look up items, see quantities, and edit items. Additional features (creating SOs and POs) for the mobile app will be included at a future date.

Can Boxstorm handle 2D barcodes?

The iOS and Android mobile apps do not support 2D barcodes. However, this is a feature that will be included at a future date.>

Set up Blue Iris Surveillance software with IFTTT

I have two cameras in which I’d like to always have a notification for if I’m not home. Initially I set this up to always send me an alert but I’m sure as you can imagine, my phone blew up with me walking around. Blue Iris has a neat feature which is simply a traffic light. If red, it will disable various things including recording (not desired for me in this case), but it can also disable alerts. I selected to only disable alerts if the traffic light is red. In the past, I had never used this feature. So here’s a brief how-to.

Click settings button and modify the settings as illustrated.

Set User Account that will perform this action.

Set Traffic Signal to Alerts Only

Verify web server port & disable Secure only for the web server

  1. On your server computer (Blue Iris Windows machine), install something like WAMP or XAMPP to handle web requests.
  2. After install set up a script similar to this one in PHP (create a php file with the name of your choice and .php extension):
    1. After you’ve created the script, drop it in your HTDOCs directory in WAMP or XAMPP
      1. For example, my directory is here: C:\Bitnami\wampstack-7.1.19-0\apache2\htdocs
$home = $_GET['home']; //get and set variable for the home status.
$my_file = 'log.txt'; //store logs so we know if our server is being used improperly and by whom

if($home == 'true')
	$handle = fopen($my_file, 'a') or die('Cannot open file:  '.$my_file);
	$data = date("Y.m.d.h.i.s") . ' on requesting ip: ' . $_SERVER['REMOTE_ADDR'] . ' Request to set RED.' . "\r\n";
	fwrite($handle, $data);
	echo "home";
elseif($home == 'false')
	$handle = fopen($my_file, 'a') or die('Cannot open file:  '.$my_file);
	$data = date("Y.m.d.h.i.s") . ' on requesting ip: ' . $_SERVER['REMOTE_ADDR'] . ' Request to set GREEN.' . "\r\n";
	fwrite($handle, $data);

	echo "away";
	$handle = fopen($my_file, 'a') or die('Cannot open file:  '.$my_file);
	$data = date("Y.m.d.h.i.s") . ' on requesting ip: ' . $_SERVER['REMOTE_ADDR'] . ' FAILED REQUEST!!! Request: ' . $home . "\r\n";
	fwrite($handle, $data);
	echo "invalid";
  1. Now let’s explain the URL in there so you can get an idea of what is happening and how Blue Iris is interpreting it.
    1. Where 8080 is the port you’ve set blue iris to
    2. User is the user account you create in Blue Iris
    3. PW is the password for said account (recommended to restrict this account down to admin tasks only not viewing rights or anything else).
    4. Signal is the traffic symbol where 1 is active (green) and 0 is inactive (red).
  2. Now if you browse to your local host URL you should have a value returned. In this case, you should see “away” in your web browser. If you see this, that means your PHP script is working. Blue Iris at this point should also change the animation in the traffic symbol.

  3. Let’s take a moment to understand all of what just happened and why. You set up a web server with a script to change the alert status on the local Blue Iris machine. Now you’ll need to expose the web server to the internet (or if your security aware, you may also set it to only work with IFTTT IP addresses). This step I will not outline as there are too many router combinations, but you need to port forward to your web server.
  4. IFTTT is super easy! Just log in, select Location for the “this” (set up an enter an area and set it appropriately for your home) and a “that” with a webhook in which you will put in your IP/ domain so something like x.x.x.x:PORT/myphpfile.php?home=true for enter and home=false for exit. You will create 2 webhook applets, one for enter and one for exit, each with the appropriate URL.

This guide is somewhat advanced as it assumes you know/ can port forward and you have a static IP or a domain set to change with your IP.

Mobile app for Android

Boxstorm Mobile for Android

Boxstorm Mobile provides the convenience of inventory management anytime, anywhere and may be installed on both ios and Android devices. Boxstorm Mobile has Dashboard, Items, and Scan modules for its basic functionality.

Installing Mobile for Android

1. Find Boxstorm Mobile by first browsing for and installing the app on your mobile device.

2. After installation is complete and the app is opened, the login page will be displayed where the Username and Password are entered. This is the same login information used for the website.

3. To access the different modules, simply choose the menu icon  located in the upper left corner of the app. The modules that are accessible will be shown in the drop down menu.


The Dashboard will be the first screen that is shown (depending on rights given for the user).  The Dashboard will instantly show the items that are needing to be Reordered (by location), the Open Sales Orders (with status of Accepted, Partial, or Quote) and the Open Purchase Orders (with status of Open or Partial).

Please note that the Dashboard module is informational only. Purchase Orders and Sales Orders can not be fulfilled through Mobile.


The Items module provides a list of all items in the Boxstorm database and their quantities. (even if that quantity is 0). They are listed alphabetically.

Create a New Item

1 Items may be created by clicking the New Item  icon in the top right corner of the Items Module. Enter the information for the item and add an image if desired. Click Save to finish.

Search for an Item

2. To search for an item enter any part of the item’s name into the search field. Choose the desired item from the given list.

View Details and Edit an Item

3. To view the details of an item, choose one from the list and click on it. This screen is the easiest way to see an inventory break down by location. The Name, Description, Price, SKU, UPC, URL, Tags and Notes are also viewed here. Please Note: Inventory MAY NOT be changed from this module. To change inventory, see the Scan module. 

4. To edit an item, click the Edit button in the top right corner. This allows for the Name, Price, Description, UPC, and Notes to be modified. Click Save to save any changes. Please Note: Inventory MAY NOT be changed from this module. To change inventory, see the Scan module. 

Scan (Adjust Inventory)

1. Inventory may be typed or scanned into Boxstorm using the Scan Module. Items may be created using the  Add New Item icon, may manually be searched using the keyboard, or scanned using a scanner device. The  Camera icon allows for a picture to be taken of a barcode and used as a scanner.

 Add Inventory – Recommended to use when adding additional inventory.

 Cycle Count – Recommended to use when adjusting the total quantity amount at a given location. The number entered here is the physical count of inventory in stock.

 Transfer Inventory – The movement of inventory from one location to another.

 Remove Inventory – Removing inventory from a specific location.

2. To adjust inventory first Add, Scan, or take a picture of a barcode and choose the desired part from the given list. Once an item has been selected, a screen will be displayed to enter the quantity needing to be adjusted.

3. Click “Save” to save the quantity, then press the  icon to open the Inventory options.

4. Once an inventory option has been chosen, the default location will be shown as the destination. To change either the Root or Sub location simply select the current location and choose a new location from the given list. Click “Save” in the upper right hand corner to complete the change.

Adjust inventory in batch

5. Inventory may be adjusted for multiple items at the same time. To remove an item, click the . To remove ALL items, click Clear in the upper right corner.