5

We'd like to reduce the amount of time required to administer our Windows servers.

Pretty much every server our team has responsibility for runs some variant of Windows but for historical reasons the machines in our care are a mix of platforms: 64bit & 32bit variants of various Windows Editions. We have around 10 machines.

In particular, the kind of activities we'd like to be able to do more quickly include:

  • Clean out temp-files & log-files
  • Ad-hoc reboots
  • Install & uninstall of windows packages

Nice to have (but not essential)

  • Montor, start & stop Windows services
  • Login / Logout
  • Montor what an application on the box might be doing (e.g. a long-running excel sheet)

I've heard that Puppet is a tool that is designed to help with all kinds of sysadmin automation - is it likely that this tool could help with any of the above requirements? From what I can tell, most Puppet users are LINUX/UNIX based - is it even possible to run the puppet master-node on a Windows environment?

As a plan B - I could just write some python scripts which do the jobs listed above and call them from a Jenkins server.

I'm looking for your suggestions as to what might be the most time-effective way of cutting down our admin time.

Thanks

UPDATE0: Althaugh I work for a big company, this is a company which dislikes spending money on anything. Free & Open-source solutions are preferred. Whatever we use has to be legally licensed and cost nothing - software compliance is a big deal.

If neccecary we will find a decently powerful box and run Ubuntu in VirtualBox (or similar) to run the master node.

2
  • 2
    Personally, shoving the Windows servers off the roof of the building and not replacing them. That would reduce the admin time, but I doubt your boss would find my suggestion nearly as amusing.
    – Magellan
    Jan 27, 2012 at 15:16
  • Sadly this is not an option - our product is for Windows. Non windows servers might not be too helpful. Jan 27, 2012 at 15:20

4 Answers 4

3

I find that I can do a ton with PowerShell. Monitoring, not so much (not that you couldn't with some simple Test-Connection and Test-Path type scripts) - but a lot of the other suggestions have good options for that. I might also suggest icinga.

PowerShell in my environment does backups (using the Microsoft Sync Framework SDK, 7zip SDK & AWS SDK), clears log folders on remote servers, dumps IIS logs into a database, does Admin Password rotation for security audit purposes, is used to stop and restart services & perform service account credential rotation.

I find that scheduling PowerShell scripts in my Windows environment is the most straightforward, time-saving, and inexpensive route to take.

If you do go with puppet, let me know how it goes. I've done some research and couldn't justify the setup/testing time.

2
  • I'm currious about how you drive these scripts remotely, if at all? Do you use ws-managmenet for remote commands or some other technique.
    – cmcginty
    Sep 28, 2013 at 3:42
  • 1
    I usually have a management server with the scripts on them. I then run them from this central location and the scripts all take a ComputerName parameter. There are various methods for executing remote commands under this. I usually just use WMI, but better options surely exist. PowerShell has invoke-command I believe which might do what you want on boxes with the proper configuration for wsman
    – Chris N
    Oct 2, 2013 at 20:24
2

if you already have 'normal' Windows server licenses (like the standard Windows server editions) then you are entitled to use Active Directory. You can administer a fleet of Windows servers with that using group policies and scripts. No extra expense.

For deploying software you can use http://wpkg.org, it is open source software. Once you get the hang of it it is very nice. You can of course also do it with group policies and scripts in your Active Directory. No gui though (not a problem for me, but it could be a problem in your environment.

As to monitoring, well, I really enjoy using http://www.opsview.com/community, which is open core. You still can buy support if you need it, but the main features are in the community edition. It is nagios done right. It does not work in Windows, though. You can monitor Windows servers with it, obviously. It runs perfectly fine as a virtual machine.

If you want to use something 'unixy', it is possible to run cfeninge under cygwin. You would need to get the sources and compile it first, but it is possible. Of course, cfengine itself has a learning curve of it own, but if your time costs nothing, then maybe it is an option ;-) . If your time does cost money, you can get the commercial native port for windows.

4
  • That's not an option for us - the official company IT department use AD to manage all the machines on all the company sites. I work for a product development team that is somewhat seperate. We just need some additional tools for making some tiresome tasks simpler. Jan 27, 2012 at 15:50
  • 1
    maybe if you gave all the facts up front, we would not have to guess ... Anyway, that (the AD and group policy stuff) was just a piece of my answer, you still can use the other stuff (unless you have some other as of now undisclosed limitations, of course :) Jan 27, 2012 at 18:18
  • 1
    Avoiding using AD to manage Windows machines is asinine, to be blunt. The tools are already there for you; why tie your hands?
    – mfinni
    Jan 27, 2012 at 19:17
  • 2
    Another option: ask your IT department to delegate control of an ou to your section and ask them to place all the servers you need in that ou; that way you can use AD to do what you require. Jan 28, 2012 at 9:57
1

Heres what I use. These work well for me.

Spiceworks - Great for a Windows house to monitor lots of stuff. WSUS - Helps to simplify managing your updates. CFEngine/Puppet - These can do a lot of what you want, its a steep learning curve if you aren't comfortable scripting.

2
  • Scripting (in Python) is what I spend most of my life doing. Is that good enough for Puppet? Jan 27, 2012 at 15:40
  • You'll probably be able to get the hang of it pretty quickly. Its just like learning a new coding language, from what I hear anyways. I started on puppet and I'm working my way into Python. Jan 27, 2012 at 15:45
1

Depending on how many servers you have and what you foresee you may want to go with the MS options - System Center is not too lightweight but a very powerful system to manage servers.

4
  • Is this free? See the update above - our budget is zero. We only have our time. Jan 27, 2012 at 15:21
  • 3
    No, not free. But then your time costs money if you have "servers" as in plural. The costs are very low for smaller amounts, and for larger amounts "our budget is zero" is a stupid - and i meant hat exactly like that - statement. Admins cost money, too. A budget is something you get if you dont ahve it to do your job.
    – TomTom
    Jan 27, 2012 at 15:26
  • 1
    I agree with Tom. Puppet is going to give you some of those features that you want (packages, log files, etc) but typically in a Windows environment you're going to want a Windows solution because it's going to save you a lot of time & problems in the end. SCCM is fairly cheap -- especially if you only need 1 primary site license. I think your could convince your boss the benefits of using such a system.
    – Ethabelle
    Jan 27, 2012 at 15:31
  • "The Boss" is not the problem - it's the official company procurment policy that says no. :-( Jan 27, 2012 at 15:44

Not the answer you're looking for? Browse other questions tagged .