I work for a school district and we are having a large push to automation. I am a big supporter of this and try to practice it as much as possible. I have automated enough to cut my work order count down below 1/5 of the total work orders. Of course we use all the basics like gpo, wsus, print servers, and pdq. I want to work on power shell but I need to get better at it before I support automation with it.

  1. My question is how do you automate?
  2. What do you use?
  3. Any special tricks that others don’t think of?
  4. 3rd part software that are free or low cost?

Just am looking for an open dialog of ideas.

66 Spice ups

I’m in the same position as you, so will be keeping an eye on this thread.

In addition to what you’ve mentioned I use a few scheduled scripts, but nothing Earth shattering.

2 Spice ups

What do your scripts achieve? Just curious for the ideas?

Automation is always done in regarding to needs, we can not give you examples if we don’t know what you’re working on…

I could tell you that I automated purging of mailboxes, bit this probably wouldn’t have any value for you… :slight_smile:

2 Spice ups

There’s a difference between automation and enhancement.

Using a wrench is work. Using an pneumatic ratchet is enhancement. Using a robot on an assembly line is automation.

My guidelines for using enhanced tools or automation are:

  1. The time spent maintaining and using the tool must not require more effort than simply doing the job manually without the tool.

I see people writing complicated scripts that must be updated every time the name of a server or account changes. This becomes a task in itself and can distract the tech from his primary mission. A box of tools that must be updated every time powershell is revised and won’t run on different platforms without upgrading powershell first, for example, may not be worth the effort.

  1. There must be some clear advantage over using standard tools or interfaces that perform the same function.

You spent two weeks writing a powershell script that writes directory contents to a file when dir > file.txt would have done the same thing, for example.

  1. The tool must be easily learnable and usable by others.

A complicated script with 25 command line options and switches that other, less dedicated users can’t easily master is not helpful. It creates islands of “we do it differently here.” Consistency breeds simplicity.

  1. You must have and continue to have a working knowledge of the underlying functions that you’re manipulating.

You create a tool to automate creation of new users in AD, for example. But you can’t create a user using the standard interface. And if something goes wrong with your tool, you are helpless to complete your objective and swerve into a 4-hour Google research session.

46 Spice ups

This is not exactly automation, but we have started using KISSflow in GAfE to streamline processes that used to be more labor intensive, like field trip requests, purchasing iTunes apps, etc. It replaces paper forms and a custom PHP application that we couldn’t easily update.

2 Spice ups

Hey Stevie

Are you looking to automate business processes or IT tasks?

Dan

2 Spice ups

Great information so far. I did purposely leave this broad to get ideas out there that not only I could use. For example I hadn’t thought of automating mail box purging and it might be something we discuss. The guidelines are really awesome too and I am going to bring them up to our crew on Tuesday.

We are mostly Windows machines and a few Mac’s. Like most schools we are under staffed and need to automate as much as possible so we can focus on projects and larger problems more. It’s hard to say what exactly we want to work on since we need to automate as much as possible. If our 3 sys admins only had 5-10 work orders we would be sitting at 15-30 work orders increasing our time and allowing us to use interns more for the simple WO. So in part I’m looking for ideas for me and others.

1 Spice up

Hi Stevie8831.

To answer your questions

  1. automation from a systems administrator perspective is taking a task that requires many configuration steps and writing a script or program to perform these configuration tasks in place of the actual administrator.

2&3) typically for the Windows world you would use powershell or CMD commands to pull information/ make configuration changes for multiple windows computers in a domain from one machine. In my recent past I have used java to create a program that would pull MSInfo from multiple computers in a server list and by multiple we are talking 300+ machines. This MSInfo automation tool will free up my time to take care of other issues while our infrastructure is being well documented, the tool is very straight forward meaning someone with very minimal knowledge would be able to work it. You can then create a script to go through the MSInfo files and pick out Key information and put them in a spreadsheet for an easier read. This script could be a batch script or CScript or another kind of script.

  1. I would be more than happy to provide a list of free software, however I am not aware of what task(s) you are trying to automate. So a google search on the task included with “automated program” may yield results you are looking for.

I would also like to include that not every task can be automated. So don’t be bummed if you’ve been trying to find a way to automate something for weeks and then it turns out you cannot.

4 Spice ups

I’m in a similar position and have been reviewing how the daily tasks we do in IT support and adding powershell scripts and scheduled tasks where we can reduce hoe long it takes to do things. I started by reviewing the process we do a lot of such as account provisioning and deprovisioning, account extensions, and password expiring and there’s a lot of simple powershell scripts.out there that can reduce the manual overheads of these tasks.

I’d start by looking at what work your team does and identifying areas that are repetitive. Look at what powershell can do, its really powerful and there are a lot of resources out there ready for you to use.

Good luck and don’t be afraid to have a go and ask on here if you need help.

2 Spice ups

Most of the automation comes up out of necessity. Most of the things off the top of my head are just movement of certain files, purging others, sending reports, and notifications about certain things that we need to know about but don’t want to manually look.

3 Spice ups

You could look into school automation software systems like School pixa . There are many other options available depending on your daily operations.

Check out this company . Don’t know if they do anything for those outside the UK though.

Most of my automation is based around patching and backups. All my Windows and 3rd party apps are patched automatically, so much so that I can take a month off safe in knowledge that things are still being updated, specifically 3rd party apps with Windows apps requiring someone to approve them first as I don’t trust MS not to mess those up.

I have backups to multiple locations, all running on schedules with multiple triggers. It’s a bit too automated because when something does go wrong it takes ages to remember how to fix it because it’s so long since I last touched it! I could look up the instructions I created but I’m male so I never read instructions.

For anything else I have automatic alerting, this is probably more important than anything else. Emails or texts for when something goes wrong. I’m very specific about this though, I don’t want emails when things have completed successfully, I only care when it’s failed.

I do tend to use the thinking that if I do something twice I need to consider automating it. An example was recently doing some server checks I rarely do but I took them on over the Xmas period. There were Windows Defender updates that had to be installed on a lot of servers, on day 2 I realized they have been doing this manually daily. I spent 30 mins creating something to automate it and now saved them that same 30 minutes per day. They had no idea it could be automated but equally didn’t really investigate.

As with Roberts points. All things need to be considered for true usability and time saving. I want to solve a problem, not move it.

5 Spice ups

For me automating my tasks means the endlessly browsing through logfiles, messages and webpages for statusses and errors is a task that makes me numb.
So first thing is an inventory what tools and tasks send errors in what way.
next thing is get an monitoring tool, and create sensors that takes over the scrutinizing of logfiles :

For example on a daily bases we get 50 emails from Backup exec with statusses for every single job.
With prtg i created a sensor which fires a SQL stored procedure that tells me if all jobs are succesfull.
If yes, then there’s nothing to do for me regarding the backup.

every day i scan the eventlogs , for login attempts, changed passwords etc etc , so no browsing for me , i’ve got it served on a silver platter.

99% of my scripting is done in batch / SQL , i’m not really good in powershell and aren’t really tempted to switch to powershell in the near future.

Automating adding a user or giving someone additional rights is a nobrainer since we only have this < once a week

You should really find out which repetetive task are you performing the most and see if you can put some efficiency there, like robert said if automating a 1 minute task cost you a week , you’ll never earn it back.

2 Spice ups

I noticed Microsoft Deployment Toolkit (MDT/Litetouch) was missing from your list of ‘simple things’.

Creating standard images and using MDT to automate the deployment process makes setting up a new computer take all of five minutes of labour - it almost takes longer to unbox the device.

Having worked in schools I know first hand the benefit of being able to plug in 30 laptops, then go do something else, coming back to a full set of ready to use laptops.

6 Spice ups

Yeah, We use WDS with answer files that will build the PC to the point where I can deploy an “all in one” package in PDQ to get a pc build as quickly as possible!

The all in one package contains packages like:

  • Removing and creating local administrator accounts

  • Gpupdate /force /boot

  • All software we need depending on the location within the school

  • Pulling any updates using SCCM using a PowerShell command

and then we have a lot of packages within PDQ.

It’s a stupid little thing,but I love that I wrote a scheduled task to reboot my servers. All I do is change the scheduled time, and the server reboots overnight, while I’m soundly sleeping. Great for installing Windows patches

2 Spice ups

Hey Steve

We use SCCM current branch and our windows Updates are automated to some systems within our Company. With downtime slots configured some systems will automatically install updates and then reboot the server.

Your monitoring system has to be up to date and working a 100% to accomplish this.

You can get the same functionality out of WSUS if configured properly just make sure your monitoring is up to scratch.

What do you use for your monitoring?

We use Kaseya specifically the agent procedures to do a lot of automation. The agent procedures are GUI based so anyone can learn them, and you can incorporate powershell or anything into them. One thing that I do with it is create automated installations of all our applications and configuration changes. Doing this along with using MDT allowed us to reduce our image to one, and that image is just the ISO off the Microsoft VL website. All the configuration and software installed is done in Kaseya after the image. We have over 1200 computers that need different configurations, applying the config is as easy as a checkbox while setting up a computer for imaging. Also have used EMCO MSI Builder in some situations as well.

1 Spice up