More info: The @productsuite macro returns a number that could include multiple product suite references. Therefore, bitwise operations have to be performed on the @productsuite value to properly determine is the value "16" (Terminal Server") is in use on any individual computer.

For example: If you install a W2K server and enable the 2-client Admin level Terminal services, @productsuite returns "274" which is a combination of "Enterprise" (2), "Terminal Server" (16), and "Single User Terminal Server" (256) --> 274.

So to determine that "Terminal Server" is part of the mix you have to perform a bitwise operation on the value.

This Function is one way to do that...
code:
if ProductSuite("Terminal Server")
CallScript("$HomeDrive\CitrixMap.kix")
endif

Function ProductSuite ($Product)
Dim $Product

select
case $Product = "None" $x=0
case $Product = "Small Business" $x=1
case $Product = "Enterprise" $x=2
case $Product = "BackOffice" $x=4
case $Product = "CommunicationServer" $x=8
case $Product = "Terminal Server" $x=16
case $Product = "Small Business (Restricted)" $x=32
case $Product = "Embedded NT" $x=64
case $Product = "DataCenter" $x=128
case $Product = "Single User Terminal Server" $x=256
case $Product = "Home Edition" $x=512
case $Product = "Blade Server" $x=1024
case 1 $RC=MessageBox ("Invalid parameter used in function ProductSuite ($Product)",48)
WriteLog("Invalid parameter used in function ProductSuite ($Product)")
endselect

$ProductSuite = $x & val(@ProductSuite)
Endfunction



[ 19 June 2002, 15:35: Message edited by: Howard Bullock ]
_________________________
Home page: http://www.kixhelp.com/hb/