This is definitely a nit-pick, but if I'm going to evaluate the same function more than once, I set it to a variable and then just reference the variable. For example:

 Code:
$PType=@PRODUCTTYPE
Case $PType = "Windows XP Professional" Or $PType = "Windows XP Professional Tablet PC" Or $PType = "Windows 7 Enterprise Edition"


If you compiler is efficient, it should store $PType in a register and then just reference this register when it needs the value rather than re-evaluating the macro each time. I picked up this habit years ago when I was doing machine language programming. \:\)

Regards,

Brad