About us

K Systems is an information technology management firm, working with small and mid-sized businesses in the Chicagoland area. We develop and implement business technology projects and provide ongoing support.

Call Keith at 630.408.6659 or email info@ksystems.com for more information.

IT Management Consulting

Email Blacklisting and big domains

Recently we were doing a lot of scrambling dealing with Hotmail.com and outlook.com domains being listed on email blacklists SORBS.  While I understand that a blacklist like SORBS is not distinguishing Hotmail.com from a individual company domain, reality sure is.  That reality is that I don’t know many email administrators who can confidently tell their employer that a email site like Hotmail.com has been restricted from emailing anyone at the company, and that’s a good thing.  Its just too broad of a user base.  I personally have no way to argue the point – what can a Hotmail user do to not be on the blacklist?  Very little.  I like SORBS and I want to continue to use it, but I wish they had these large mail domains (yahoo.com, Hotmail.com, aol.com, etc.) in their own blacklist filter.  That way we could still subscribe to SORBS, but not subscribe to the SORBS large mail domain filter, and instead rely on our server-side mail filters to protect us at that point.

Exchange delete a single message

I am sometimes guilty of using this blog to write myself useful tips to remember for the future, and this is one of them…

Removing a single message from an exchange 2007 server can be done a couple ways from the Exchange Shell.  This blog uses a good method, and combined with the information on this forum, I have developed a “go to” script I use for this:

Make sure the user your logged in as has mailbox permission (use an admin account):
Get-Mailbox -Server EdgeServer | Add-MailboxPermission -User adminaccount -AccessRights Fullaccess -InheritanceType all

EdgeServer = server name,  adminaccount = your accound

Now find and delete the offending message from all mailboxes:
Get-Mailbox -Server EdgeServer | Export-Mailbox -SubjectKeywords “BAD MESSAGE” -StartDate “03/03/2014″  -SenderKeywords user@domain.com -ExcludeFolders “\Calendar”, “\Contacts”, “\Deleted Items” -Maxthreads 10 -DeleteContent

EdgeServer= server name “BAD MESSAGE”  = subject of message you want to delete
Good optional strings:
-StartDate = when you know when the message was sent, “-EndDate” also exists.
-SenderKeywords = restrict to only messages sent by a certain email address
-ExcludeFolders = limit where you are searching, speeds things up
-Maxthreads = throttle the search so you dont slow down your exchange server to unreasonable levels

Keep in mind  on a 100GB + information store this type of cleanup is taking hours at least.

You will also want to consider setting the permissions back that you set in the first shell cmdlet – most of the time because I am using the exchange administrator account to do this, I don’t bother.

Note: on exchange 2013 a new “remove-message” cmdlet exists for this sort of thing.

CRM Portal

ksysgroup uses Microsoft CRM Online to manage service tickets and projects, and there is interest in developing a portal for customers to submit and review Cases directly from our CRM system, eliminating the need to email clients and reducing the risk of a communication breakdown.  I was reading this blog post about Microsoft CRM and how to visualize the architecture of the system when you want to connect to CRM through the web.  The excerpt that grabbed my attention was:

“CRM Portal can be built with all major web technologies, i.e.: .Net, Java, PHP, Ruby. It doesn’t matter how you design the user front end, on the back end they call CRM references to perform actions.”

This made me put the idea of a CRM portal into better perspective, and I felt put us in the right direction when it comes to building our own customer CRM portal.   We are hoping to have the portal completed by the first half of 2014.



A sample of the type of portal that can be built and connected to Microsoft Dynamics CRM




How long does it take to power off your Infrastructure?

A client recently had an issue where the electricity to their facility would be powered off for approximately 8 hours on a Saturday.  When presented with this, we reported that the IT infrastructure would need to be offline for 11-12 hours.  We were challenged on the amount of time needed to power off and power on IT infrastructure, but when you start looking into it its a surprise to see how long it really takes.

  • Routers/Firewalls/Switches/Key servers are usually mission critical and not powered off/rebooted frequently.  This equipment configurations all need to be backed up prior to the shut down, and ample time AND a contingency plan needs to be put in place in case there are issues with this key equipment turning back on.  I always wince when I have to turn off a piece of equipment that has been running for months or years straight… sometimes these old dogs don’t like to learn new tricks.
  • Servers running big back office applications (SQL server, Mail servers, collaboration servers, etc).  Take a surprising amount of time to shut down and boot up.  Most high end SQL servers can take upwards of 15-20 minutes before a logon prompt appears.  A lot of people think servers boot like clients, and although I wish that was the case it just isn’t reality.
  • Equipment cannot be all turned off and turned back on at once – equipment must be addressed in stages, tearing down the infrastructure from the “top-down” and then powering it back on from the “ground up”.
  • Once the infrastructure is back on, it has to be tested before “official word” is given for clients to enter back into the systems.  If things are not working right and access is granted too early, your IT department has to handle the server issues and the flood of client inquires to the issues they now experience.

CMMS – start small and justify bigger

A CMMS system is a perfect example of a product where a company has to be realistic with themselves when system shopping.  I use a smaller system such as a CMMS over something like a full ERP in this example because I think a smaller system drives home the point best:  You might recognize the need to grow, but at the same time your realizing your too big for your system now, you also have to realize your too small for the new system your looking at.

We had a client of K Systems where their outdated CMMS system was doing more harm then good.  However a lot of the problems this older system had resulted in bad habits by the Maintenance department in regards to getting work done.  While reviewing new systems the client was focused on features such as preventative maintenance schedules integrating with the production forecasts being generated by the ERP system, dynamic PM work order generation based on equipment wear, external/B2B lot trace capabilities, etc.  Meanwhile, I was more concerned about users not sharing logins, eliminating off the books work orders, and getting a somewhat accurate physical inventory.  There was an assumption on the part of the client that all the basic problems were the old system’s fault: and once a state of the art CMMS was put in place, the department would shape up.

We went to work in the old CMMS system building some rudimentary architecture and external reporting to “prop up” the old CMMS work order process.  Then we offered a challenge to the customer:  the Work Order component of your old CMMS system is now working – lets see if we can get the department to use it correctly.  What resulted over the next month was a complete failure for most of the department to comply with the procedures and policies outlined for submitting proper work orders.  This provided a low cost lesson:  if its happening here, its going to happen in the new CMMS system.

The solution was simple:  reduce the budget of the project, stop looking at the advanced features as “must haves’, and find something out there that does the basics well.  Then, after a year or two of a solid physical inventory, resource management, and work order accuracy, we can go back to the state of the art CMMS systems out there and start talking advanced features.  This smaller CMMS system did the job for the client, for less then what the yearly maintenance cost on the state of the art CMMS would cost!


image courtesy of elatewiki.org