A few weeks ago, I ran across a couple of articles about a university in Holland that was having difficulty getting all of their Microsoft patches out to all of their systems. What did they decide to do?

Buy more servers? Nope!

Increase bandwidth? Nope!

Use a program that has been essentially outlawed in North American universities? Yep!

The university decided, on the advice of their IT consultant, that they would use bittorrent to deploy the patches.

This really got me thinking about how I would go about creating my own U.Holl server (as I like to call it). These are some of the thoughts that I have come up with.

The Server

Just to add a really strong sense of irony, I would probably build the U.Holl server on Linux, most likely Ubuntu with a typical LAMP installation. Then, for ease of management, I would install a tracker such as phpMyBittorrent or something similar.

In the tracker software, I would create several different categories based on the target systems that I would use. For example, there would be Windows XP, Windows Vista, Office 2007, etc. categories. Each category would have its own RSS feed.

The Clients

Each workstation or server that was to receive updates using bittorrent would have a copy of uTorrent running in the background. This would be critical. You would also need to tweak uTorrent so that it automatically ran an installation script r program each time it finished downloading a new patch. This script would also schedule a reboot at 3:00 AM (or whatever time you wanted) since it seems almost every hotfix from Microsoft needs to reboot the system.

A potential install script might look like this:

The trick to automatically downloading files is to subscribe each uTorrent client to the proper RSS feeds given out by the server. This way, each system only gets the patches it needs.

Potential

I think that this type of a delivery system has great potential. You could even use it across slow bandwidth links or to deploy other software, not just patches.

This is a project that I am hoping to spend some time on over the next while but I am looking for your input/suggestions now so that I can hopefully avoid some pitfalls later. Any input would be greatly appreciated!

In response to my post “Windows Install - Simple, Easy and Quick“, Will has asked a good question:

Is there an option in Windows to save Documents and Settings to a different partition during install?

In Ubuntu Linux, I can have a separate /home partition. This lets me reinstall without losing *any* files or settings from a user point of view. (Also, it’s nice having all my wireless passwords work from install to install).

The answer, Will, is yes, there is a way to change the location of the Documents and Settings location in Windows. By default, a user’s configuration files are stored in C:\Documents and Settings\<username>. This location is created the first time the user logs into the system and their default settings are taken from C:\Documents and Settings\Default User.

But, it can be really useful to redirect the location of this folder. For example, I have redirected user’s My Documents from the default C:\Documents and Settings\<username>\My Documents to \\server\users$\<username>. This way, users were storing their My Documents on the network and not locally so that if a workstation blew up, then all of their documents would be safe on the network.

To allow this example to work, simply perform the following:

  1. Open Registry Editor (Regedit.exe) and navigate to: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
  2. In the right-pane, look for the entry “Common Documents” and double-click it.
  3. The value which present there by default is “%ALLUSERSPROFILE%\Documents”.
  4. Change the value to the redirected folder (e.g. “\server\users$\%USERNAME%”)

That should do it for you!

I am in the process of performing some analysis on the posts on Daily Cup of Tech. One of the things that I want to do is a word count and frequency analysis on the entire blog.Now, I could go with good ol’ pen and paper and start counting every single word on the blog. But, that would take me quite a mount of time, not to mention that I would not learn anything in the process.

So, I decided to export the contents of my mySQL database the runs behind the scenes at DCoT to a text file and then download a word and frequency counter. Do you think I could find a word counter that would count all of the words in the file and then count how many times each word appears? No luck.

But, my bad fortune is your lucky day. I decided that since I couldn’t find anything like this, I’d make it myself. So. today I present you with the Daily Cup of Tech Word Counter!

The application is a self contained program that is fully portable to USB devices. You can download the program and the source code if you are interested. The program is written in AutoIt.

Here is a screenshot of my new baby:

Most of the program is self explanatory. You can sort the output alphabetically or by how frequent each word appears. You can also sort in ascending or descending order. You can count the words that you type or paste into the edit box or use a text file.

The delete options may be the only confusion portion. When you are counting words, you need to clean up the rough text a bit. Delete some punctuation, get rid on non-printable letters, or scrub out the non-standard English words. Each of these options selects a different one of these options. Control characters are things like carriage returns and line spacing. Punctuation is your standard punctuation that you will find in most documents. Extended characters are characters that you usually do not see regularly and are often used in some non-English languages.

The Use Spaces option will replace all deleted characters with spaces rather than deleting them. This can modify your outcomes so feel free to experiment.

When you are done counting your words, a complete list of all the words and how often they appeared will be presented in the edit box.

Feel free to play around with this and let me know if you find it to be useful.

I was doing some research the other day on getting your self out of a difficult situation when you don’t have access to some vital system resources because you are running as a normal user and you lost your local admin password.

I discovered that there is a way to reset your user interface and run interactively as the LOCAL SYSTEM account. This is important because the LOCAL SYSTEM account has a lot of privileges available to it. According to Microsoft:

The system account and the administrator account (Administrators group) have the same file privileges, but they have different functions. The system account is used by the operating system and by services that run under Windows. There are many services and processes within Windows that need the capability to log on internally (for example during a Windows installation). The system account was designed for that purpose; it is an internal account, does not show up in User Manager, cannot be added to any groups, and cannot have user rights assigned to it. On the other hand, the system account does show up on an NTFS volume in File Manager in the Permissions portion of the Security menu. By default, the system account is granted full control to all files on an NTFS volume. Here the system account has the same functional privileges as the administrator account.

A little while back, some enterprising individuals discovered a way to run the LOCAL SYSTEM account interactively. Here are the instructions according to one website:

  1. Start > Run > cmd.exe > type: at 12:03 /interactive “cmd.exe” (replace 12:03 with a time 2 mins from now). > close command prompt
  2. New command prompt will open, when it does > Hit CTRL+ALT+DEL > find explorer.exe and End Process.
  3. At command prompt type: cd.. > type: explorer.exe

This all words fine except that it is a bit confusing for someone who does not understand how all this works. So, I thought I would make it easier for those who do not have my background. I created a little program in AutoIt that completely automated the process. Simply run the program, wait for a couple of minutes, and you’re running as the LOCAL SYSTEM account.

You can download this program and play with it all you want.

WARNING: I have tested this program to the best of my abilities but this does not mean it is perfect. I did not have any problems with it but that does not mean you will not. If something goes wrong, don’t blame me! You’ve been warned.

For those of you who are interested, here is the source code for this little program I wrote. Feel free to hack around and make it do different things:

#include <Date.au3>
If $CmdLine[0] = 0 Then
;No command line options
;First run
$RunTime = _DateTimeFormat(_DateAdd(’n', 1, _NowCalc()),5)
$Command = @ComSpec & ” /c AT ” & $RunTime & ” /interactive “”" & @ScriptFullPath & “”" 2″
Run($Command)
Else
;Second run
$Command = @ComSpec & ” /c taskkill /IM explorer.exe /F & ” & @WindowsDir & “/explorer.exe”
Run($Command)
EndIf

Update: Someone asked in the comments how you get back to your normal account. Simply log out and then log back in as yourself. You should be back to normal.

Every single IT person will tell you to maintain your Windows security updates. It is critical, we are told, so that we can keep our computers safe. While I don’t completely agree with the statement (I’ve personally experienced an “update” that has completely killed a mission critical server), it is important to be able to update your system with the required patches.

Most people use Windows Update and many IT administrators use Windows Software Update Services (WSUS) to deploy these patches. While both works well, I personally prefer AutoPatcher. And here’s why:

  1. It uses way less bandwidth than Windows Update. You download the patches once and you are done. You can now easily deploy all of the update to several computers, even computers without Internet access.
  2. AutoPatcher does more than just update Microsoft applications. It is completely customizable and you can use it to install pretty much anything you want.
  3. You can deploy AutoPatcher updates over a network without a bunch of registry hacks. Unless you are running Active Directory, you need to perform a number of registry hacks to get WSUS to work.
  4. You do not need to install the Windows Genuine Advantage “critical” update in order to install other updates. You can keep your information to yourself.
  5. AutoPatcher can be run unattended over a network or from a log-on script.

If you have never used this amazing tool, I would really encourage you to give it a try. It’s freeware so all it will cost you is your time.

If you purchased any Microsoft operating system over the past number of years, you were probably inundated with offers to purchase Microsoft Plus! This product promised to give you even more than was originally provided in your OS.

Personally, I thought it was Microsoft’s attempt to make you part with even more of your hard earned cash than you had already. What Plus! provided was essentially eye candy and it added very little in the way of extra functionality.

But, it looks like Microsoft will no longer me making this product available to the public. According to their website, they believe that they have now built all of the Plus! functionality into their products. My theory is that the public realized that the product wasn’t worth the money and voted with their feet.

Have you had any experience with the Microsoft Plus! products? Did you like them or not? Are you going to miss them? Were they worth the money?

It has been long time since I have watched television like “normal” people. Ever since I found bittorrent, there was no turning back!

The problem that I have is that I am a pack rat! Once I download a TV episode, I don’t want to get rid of it. After all, I used up all that bandwidth!

So, I’ve started organizing my television shows into three categories:

  1. Downloaded - these are shows that have just completed downloading and are in their original form from the Internet
  2. Unsorted - these shows are in in one central location and should be in playable format. These are all my new shows that I probably have not watched yet
  3. Sorted - once I have watched a show, the shows get moved into appropriate folders based on series and season name

The issue that I have run into in the past is that once an episode is downloaded, it may not be in playable format since many shows are archived, typically into RAR files. This means that I needed to manually extract these files or move the playable files to the Unsorted folder so that I could watch them.

I finally got fed up with this and I thought that there had to be a better way. It took me a couple of evenings work but I finally came up with a batch files that does the work for me! I simply have Windows programmed to run the batch file on a regular basis and it extracts all of the RAR files to my preferred location and moves all of the AVI files there as well (without copying the samples).

Here is the contents of that batch file:

@echo off
setlocal
cls

rem Set program variables below:
rem sourcedir - where files are saved once they have been downloaded
set sourcedir=C:\Downloaded

rem destinationdir - where you want all of the playable files to be placed
set destinationdir=C:\Unsorted

rem winrarpath - location of the unrar program
set winrarpath=C:\Program Files\WinRAR\

rem filelist - the name of the file which will store all of the RAR and AVI file names that have been processed
set filelist=FoundFiles.txt

rem tempfile - name of the temporary file that will be created and then deleted during the cleanup process
set tempfile=TempFile.txt

set path="%winrarpath%";%path%

echo Extracting new RAR files...
for /R "%sourcedir%" %%R IN (*.rar) DO find /C "%%R" %filelist% > NUL & if errorlevel 1 call unrar e -o- -y "%%R" *.* %destinationdir%\ & echo %%R>>%filelist%

echo Adding sample AVI files to no copy list...
for /R "%sourcedir%" %%R IN (*sample*.avi) DO find /C "%%R" %filelist% > NUL & if errorlevel 1 echo %%R>>%filelist%

echo Moving new AVI files...
for /R "%sourcedir%" %%R IN (*.avi) DO find /C "%%R" %filelist% > NUL & if errorlevel 1 echo Copying %%R... & copy "%%R" %destinationdir%\ & echo %%R>>%filelist%

echo Cleaning up %filelist%...
for /F %%R IN (%filelist%) DO if exist "%%R" echo %%R>>%tempfile%
del %filelist%
rename %tempfile% %filelist%

All you need to do is copy this file and save it as TorMove.cmd.  Then edit the three variables:

  • sourcedir
  • destinationdir
  • winrarpath
  • filelist
  • tempfile

Only the first three are critical.  You just need to make sure that the last two do not clash with other files.

Also, you do not need to use WinRAR.  If you do not have this program, UnRAR for Windows will work just fine.

Once you have modified your file, save it and then schedule Windows to run it as often as you want!

Every few months, I like to completely blow away my Windows system and reinstall it. This is primarily because I install so much junk on the system that it just starts to clog everything up. A freshly installed copy of Windows always runs so much quicker and has that “new OS smell”!

I firmly believe that more people would do the same if it wasn’t such a pain to do! Most people figure that you simply need to set aside a full day to do the job right.

So, I’ve put together a two part checklist of things that you should do before and after you completely reformat your system to start over.

Before You Reformat

  1. Move all of your data off the computer and put it on a different system or drive. The most important folder to backup is the user profile (%USERPROFILE%) folder. This will usually back up 95% of what you want including your My Documents, music, pictures, favorites (for Internet Explorer), e-mail, etc.
  2. Backup all of the device drivers that are being used on the system and store them somewhere else. I use a freeware program called DriverMax but I am sure that there are several other good ones out there.
  3. Make sure you have a copy of all the software installed on your computer along with all of the license keys. A quick way to get a list of all installed software is to use something like Belarc Advisor. If you do not have the license keys, a program like Magical Jelly Bean Keyfinder might be of help. This includes operating system and software that you bought by download. I usually start making this list a few weeks before I decide to rebuild my system.
  4. Download AutoPatcher and prepare a Windows/Office update CD/DVD.
  5. Create an image of the system just in case you missed/forgot something. There are a number of free imaging programs available. This way, even if there is something that you forgot to backup, you will still be able to get it back from the image.
  6. Perform a thorough check of your hard drive. If your drive has errors or problems (r you just want a bigger hard drive), now would be a really good time to replace the drive. Some tools include:
  7. Make sure that you have all of your account information for your Internet provider, including e-mail. Have their phone number handy in case you run into trouble.
  8. If you do not have all of your online accounts information memorized, now is a good time to write record them so that you do not destroy the information when you reformat your drive.
  9. Make sure that you have your wireless network information recorded and available.

If you have lost your passwords that are stored on your computer, here are some tools that may be able to help you out:

After You Reformat

Well, you’ve reformatted your disk so there is no turning back. Here is a general overview of the process:

  1. Make sure only the bare necessaries are plugged into the computer (monitor, keyboard, and mouse).
  2. Boot from the Windows CD and install Windows.
  3. Install all of the drivers that you backed up earlier.
  4. Plug in all of your peripherals and ensure that they are all working correctly.
  5. Install Office if you had it on your computer.
  6. Install all of the updates from your AutoPatcher CD/DVD.
  7. Run a disk clean and defragment on the drive.
  8. Reconnect your systems to the Internet.
  9. Install all of the applications that you want installed on the system.
  10. Migrate all of your files to your newly built system.
  11. Setup all of your accounts again.

I’m sure that there are a few things that I have forgotten but this is a really good start. Let me know what I’ve missed or if there is something that you do that I do not and I will add it to the list.

CalendarIf you are running a small office of a couple dozen employees and you have Windows 2003 R2, you can easily centralize your contacts for your entire office along with give everyone the ability to see the company’s corporate calendar without having to install Exchange in your environment.

With Windows 2003 R2, you also have a copy of Sharepoint services. Sharepoint allows you to create workspaces for your different working groups. It is generally designed to work for either relatively large companies or working groups that are widely distributed. But, if you are neither, you have this technology at your disposal and you might as well put it to good use.

By creating a central contacts and calendar in the Sharepoint services, your users can connect to then using Outlook. This way, is is really easy for them to find contact information for anyone in the company or see what is happening on the corporate calendar right from a tool they already use.

You may even want to expand things a bit more and share your own calendar using Sharepoint so that people can see when you are busy or not and allow them to better select meeting times. Or, instead of just putting in company contacts in Sharepoint, you can also put in vendors and clients so that this information is readily available for everyone in the company to use.

One other nice aspect about doing things this way is that it is also useful for the road warrior. Outlook caches a copy of all the contacts and calendar information locally on your hard drive so that when you are on the road with your laptop, all of the contacts and calendars are still available, even though you may not be able to connect with your Sharepoint server.

Now, if you do not have access to a Sharepoint server, you do have some other options, most free or open source.  Here are just a few:

What are you using for online collaboration?  Let us know what works and what doesn’t work in the comments.

A number of programs that used to work just fine in Windows XP have difficulty in Vista because of the new security model. When I discover one of these applications that requires me to run it as an administrator, I reconfigure the shortcut so that it will automatically run the application properly.

To do this, follow these steps:

  1. Log in as a user with local administrative privileges.
  2. Right click on the application shortcut and select Properties.
  3. In the Properties window, click on the Advanced… button near the bottom.
    Properties
  4. Check off the Run as administrator box.
    Advanced Properties
  5. close the Advanced Properties box by clicking on the OK button.
  6. Close the Properties box by clicking on the OK button.

The next time that you run the application from the modified shortcut, it will run with administrative privileges.

Next Page »