Convert Your Windows 7 ISO to a Universal ISO Disk

Monday, August 31, 2009

When you download Windows 7 ISOs from MSDN or TechNet, you'll notice that there are several versions of the same disk. These downloads include the Home Premium, Professional, and Ultimate editions.

An ISO-9660 image file is an exact representation of a CD or DVD, including the content and the logical format. The Windows 7 binaries for each edition are identical, it's the product key that unlocks the various features that make each edition what it is.

There is a small file called ei.cfg in the \sources folder of each ISO that "locks" them to each edition. If this file is deleted, it unlocks the ISO and allows you to select to edition of the Windows 7 operating system to install, as shown below:

As you can see, this not only allows you to install Home Premium, Professional, or Ultimate editions, it also allows you to install Starter or Home Basic editions. Starter and Home Basic editions are less featured and are designed for emerging markets and low powered netbooks and laptops.

You can edit the ISO to remove the ei.cfg file using any ISO editor, such as PowerISO or UltraISO. Keep in mind that you will have to rebuild (save) the new ISO, which can take some time and disk space.

An even better way to do this is by using a cool little utility called eicfg_remover from The utility disables the ei.cfg file by toggling the deletion bit in the UDF table in the ISO to treat it like it no longer exists. This eliminates the need to rebuild the ISO and makes it possible to reverse the patch, restoring it to its original state. Just run eicfg_remover again to do so.

By creating a "universal" Windows 7 disk, you'll save disk space and increase the ISO's versatility.

Read more ...

How to Find a MAC Address

Friday, August 28, 2009

Most of us are familiar with using the IPCONFIG /ALL command to display the full IP configuration, including the MAC address of each network adapter. The trouble with using this command to get the MAC address is that it displays too much information, especially if your computer has multiple NICs. Another problem is that it can only be run on the local machine - you cannot use it to get the MAC address of a remote computer or server.

That's where a little known utility, GETMAC, comes in. GETMAC has been included in every Windows build since at least Windows XP, up through Windows 7 and Windows Server 2008 R2.

The command:


will display the name and MAC (Physical Address) each local network adapter.

You can get the same information about a remote computer using the command:

GETMAC /S [ComputerName] /V

Note that you must have administrator rights on the remote machine.

Read more ...

How to Create Custom Error Notifications for IP Block List Providers in Exchange 2007

Tuesday, August 25, 2009

This doesn't seem to be documented anywhere in Microsoft TechNet, so I figured I'd write up a post about it.

IP Block List Providers in Exchange 2007 are a means to reduce spam from entering your organization. They are configured on the Edge Transport servers, which is detailed in TechNet here. This article explains how to use variables to create a custom error message when an email is rejected by an IP Block List filter.

In Exchange 2003, you can pass parameters to the custom error message using the %0, %1 and %2 variables.

  • %0 = IP address of the sending mail server
  • %1 = Rule name of the connection filter (Provider name)
  • %2 = The RBL provider (Lookup domain)

In Exchange 2007 the variables are the same, but the way you call the variables has changed.

  • {0} = IP address of the sending mail server
  • {1} = Rule name of the connection filter (Provider name)
  • {2} = The RBL provider (Lookup domain)

Using these variables we can craft more helpful error messages, in the event that a real person (not a spammer) is blocked by your block list (aka, RBL) provider.

In the custom error message example above, the following error message would be returned from blocked server

Host was blocked by Trend Micro Email Reputation Services (ERS). Please see

Read more ...

Name that Port, Powershell Style!

Friday, August 21, 2009

In a previous post, I presented a VBScript that displays the service assigned to common port numbers. You can also enter a search string to find any ports whose service (protocol) contain the search string.

Richard Siddaway suggested that the script should be written in Powershell instead, so here it is: Get-Port.ps1


Get-Port.ps1 portnumber
This command gets the specified port number and displays the associated service

Get-Port.ps1 searchstring
This command displays all ports and services that match the search string. Searchstring is case insensitive.

Read more ...

Name that Port!

Thursday, August 20, 2009

I wrote a simple VBScript that helps you identify TCP/UDP ports and their well known services.

Download port.vbs and place it anywhere in your system path.

To use it, enter port [portnumber] (i.e., port 389) and the script will display the well known service associated with the port, as shown above.

Alternatively, you can enter port [searchstring] and the script will show all ports that contain that search string. For example, port ldap will show all the ports with ldap in the service name.

The script works best from the command line when WScript is set to be your default script handler. Simply enter wscript from the command line to do this. Otherwise, you'll need to type cscript port [search] from the command line.

Update! See this post for the same script in Powershell.

Read more ...

RAM Upgrade

Wednesday, August 19, 2009
I just doubled the RAM on my Hyper-V server to 16GB. This is the server that hosts this blog, as well as my other domains and Exchange 2007. Much faster!

Now I have more room to add another Windows Server 2008 R2 test domain and Exchange 2010. Good thing, too, since I just got an invitation email from Microsoft to take the beta exam 71-662: TS: Microsoft Exchange Server 2010, Configuring. I'll probably be taking that in September.
Read more ...

Windows 7 Feature Matrix

Tuesday, August 11, 2009

Windows 7 is available in 6 different SKUs, but for the most part it boils down to three major editions: Windows 7 Home Premium, Windows 7 Professional, and Window 7 Ultimate / Enterprise.

The Ultimate and Enterprise editions both have the same features, the difference is how Windows 7 is purchased. Ultimate is for the retail (individual user) channel and Enterprise is for volume licensing customers. Enterprise customers with Software Assurance also benefit from the features in the Microsoft Desktop Optimization Pack (MDOP).

Each edition is available for both x86 (32-bit) and x64 (64-bit) platforms.

The following table lists the new features in Windows 7 for each edition (SKU).

Choosing the correct version of Windows 7 is made easier when you look at the features available in each version. Most small and medium-sized customers will choose Windows 7 Professional.

Read more ...

Shutdown Schedule for Windows 7 Beta and Windows 7 RC

Monday, August 10, 2009

Windows 7 RTM (Release to Manufacturing) became available to systems builders and MSDN and TechNet Plus subscribers on August 6, 2009.

You can continue to download Windows 7 RC through August 15, 2009. To avoid interruption, you should rebuild test machines by using a valid Windows operating system before Windows 7 Beta and Windows 7 RC expire. Windows will automatically notify you that the expiration process is about to begin. Two weeks later, your PC will shut down every two hours.

  • For Windows 7 Beta, the bi-hourly shutdowns will begin July 1, 2009. The software will expire August 1, 2009.
  • For Windows 7 RC, the bi-hourly shutdowns will begin March 1, 2010. The software will expire June 1, 2010.

Read more ...