Monday, October 26, 2009

Just virtualize it!

Shoe string budgets and virtual servers are a pretty good mix.  But there are so many ways to virtualize servers, how do you know where to start?

The best place to start is to know what everyone's talking about when they talk "virtual."  Wikipedia has an article on virtual machines, you can find it here.  It covers a lot of information, including the history of virtual machines, tons of technical information, a huge intimidating list of virtualizing projects and software, and in general a lot of stuff that you're probably never going to need to know.

Virtualizing centers around the idea of running multiple computers (or virtual machines) on one computer (one physical machine).  This can be accomplished many different ways and is where all the information in that Wikipedia article looses a lot of people.  Just remember, multiple computers on top of one computer.

What's the advantage in that?  I like the ability to only have to acquire a server once and then being able to use that same server for a bunch of different stuff.  Combine that with some open source software and you can be doing a lot of stuff for not a lot of money.

Imagine being able to run DNS, DHCP, and a print server all on one box.  Wait, don't you already run that on one box?  Ok, so you've got that one box that runs all DNS/DHCP/print services and it's rock solid, no errors, and everything works.  Now, you've got an administrator that comes back from a conference and they heard about this new thing called "Drupal" and it's great, wonderful, and free and they think you should start using that.  Without a virtual server you can either, buy a new server to run it on, or you can install it on top of your perfectly running DNS/DHCP/print server.  One costs money, and the other could turn into a real disaster if it all doesn't go well.  And what happens if you set up your Drupal server and then a month later that same administrator decides that they'd rather use Elgg instead?  You're either reloading a server (that wasn't in your original budget) or you're stuck cleaning up your otherwise perfectly running DNS/DHCP/print server.  If you'd instead decided to virtualize your server, getting rid of an unwanted server could be as easy as deleting a few files.  Want to run Elgg and Drupal at the same time to compare them?  Ok, just a few clicks and you're setting up a new server right along side your existing servers without having to buy any new hardware, not having to figure out where it's going in the rack, no crawling around looking for that last outlet on the UPS, or tracing network cables trying to figure out where you've got an available switch port.

Virtualizing may be a little more complicated than just clicking a few mouse buttons, but not by much.  Stay tuned and we'll see just how uncomplicated it can be.

Saturday, October 10, 2009

Renaming a computer from a script

There's a lot of different ways to automate renaming computers.  An easy way to put a script together to automate computer renaming is to use AutoIt.  If you're not familiar with AutoIt you should check out their website, autoitscript.com/.  It's an easy to use (yet still powerful) scripting language with built-in functions for automating mouse movements and key strokes.  Here's a script I put together that will use the standard XP interface to rename a computer.

$name = "COMPUTERNAME"
$workgroup = "WORKGROUP"
$restart = 0 ;0 = no restart, 1 = restart

Run("control sysdm.cpl,,1 -1") ;Launch System Properties Page
WinWait("System Properties") ;Wait for the page to exist
WinActivate("System Properties") ;Activate it (it should be already, but just in case)
ControlClick("System Properties","","&Change...")
WinWait("Computer Name Changes")
WinActivate("Computer Name Changes") ;Activate it just in case
ControlSetText("Computer Name Changes","","Edit1",$name) ;Change computer name
ControlSetText("Computer Name Changes","","Edit4",$workgroup) ;Change workgroup
ControlClick("Computer Name Changes","","OK")
WinWaitNotActive("Computer Name Changes","You can change the") ;Wait for something else to take focus
WinWaitActive("Computer Name Changes","Welcome to the",5) ;Wait for new workgroup dialog box
If WinActive("Computer Name Changes","Welcome to the") Then
   ControlClick("Computer Name Changes","Welcome to the","OK") ;If the new workgroup dialog pops up click OK
EndIf
WinWaitActive("Computer Name Changes","You must restart")
ControlClick("Computer Name Changes","You must restart","OK")
WinWaitActive("System Properties") ;Wait for System Properties to come back to focus
ControlClick("System Properties","","OK")
WinWait("System Settings Change")
WinWaitActive("System Settings Change","You must restart your")
If $restart Then ;Pick the restart option
   ControlClick("System Settings Change","","&Yes")
Else
   ControlClick("System Settings Change","","&No")
EndIf

Set the 3 variables at the top, $name, $workgroup, and $restart.  The name and workgroup should be pretty obvious, the restart options just controls whether or not the script answers yes or no to the "Would you like to restart your computer" prompt that pops up after you rename your computer.

Tuesday, October 6, 2009

Free Antivirus

One thing critical to a computer network is antivirus, and that is especially true inside a school network.  There are a lot of good antivirus products out there.  I know people running NOD32, Trend, Symantec, and Sophos inside their school networks.  I've also heard people talk about switching to a free product to save a little bit of money.  But there's one big gotcha, most of the products advertised as "free" are only free for home use.  If you look at AVG and Microsoft's latest Security Essentials they're both free, but only on home computers.  To get free on school computer you've got to look elsewhere and that's where you'll find Fortinet's FortiClient.  It's free, free on school computers, even free on computers in commercial offices.  There's no nag screens, no "we'll find it but you'll have to pay us to remove it", no expiration date.  So where's the catch?  There's no centralized management.  You might argue that not being able to centrally manage your antivirus is not very practical, but with shrinking budgets it's a lot better than loading an illegal copy of something else, and it sure beats not having anything at all.

I haven't actually had a chance to really test it out.  I was able to run it up against some of the tools in the USB Switchblade kit.  I know they're a bit dated but it didn't have a problem catching them, so that's a good start.  I'll test it against some newer threats and see how well it does.  I'll post back when I know how well it works.  If you've already tried it out feel free to leave a comment and let us all know what you think.

Here's the link:
http://www.forticlient.com/