Not sure if this is working correctly . I created a test user called rsteel and added him to the global groups domain user and welgn
This should then set his default windows printer to welgn01
Here is my script:
IF EXIST ("C:\SERVER.TXT") GOTO "CTX"

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%BEGIN SUBNET DETECTION%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

$OCT1 = LTRIM(SUBSTR(@IPADDRESS0, 1, 3))
$OCT2 = LTRIM(SUBSTR(@IPADDRESS0, 5, 3))
$OCT3 = LTRIM(SUBSTR(@IPADDRESS0, 9, 3))
$OCT4 = LTRIM(SUBSTR(@IPADDRESS0, 13, 3))
$GT = (INGROUP ("GLBTLR"))
$GR = (INGROUP ("GLBRPT"))

$sKey="IP." + $OCT2 + "." + $OCT3
$sServer=ReadProfileString ("@LSERVER\netlogon\servers.ini","SERVER",$SKey)

IF $GT USE G: "\\" + $sSERVER + "bdc\PCTSHR" EndIF
IF $GR USE F: "\\" + $sSERVER + "bdc\RPTSHR" EndIF

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%% BEGIN NON CITRIX DRIVE MAPPINGS%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

IF INGROUP ("DOMAIN USERS")

USE K: \\data01\CMN
USE U: "\\data01\@USERID"

ENDIF

IF INGROUP ("hr")

USE P: \\hrorcl1\ADPHR
USE H: \\hrorcl1\DOCS

ENDIF

IF INGROUP ("INSURANCE")

USE F: \\ins01\INS
ENDIF

IF INGROUP ("ap")

USE I: \\nthales\ips
ENDIF

IF INGROUP ("GLBRPT")

USE R: \\HLC01SAN\VOL1
ENDIF

:CTX
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%% BEGIN CITRIX DRIVE MAPPINGS%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

IF INGROUP ("DOMAIN USERS")
USE K: \\DATA01\CMN
USE U: "\\data01\@USERID"
ENDIF

IF INGROUP ("IPS")
USE T: \\NTHALES\IPS
ENDIF

IF INGROUP ("hr")
USE P: \\HRORCL1\ADPHR
USE H: \\HRORCL1\DOCS

ENDIF

IF INGROUP ("HLC tellers")
USE G: \\pctsql01\01
ENDIF

IF INGROUP ("BANKER INSIGHT")
USE F: /DEL
USE F: \\bi3\bi
ENDIF

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%% BEGIN DEFAULT PRINTER SET %%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

$Index = 0
$PrinterSet = 0
$NonPrinterGrps = "Domain Users,Domain Admins,Network Admins"
$Domain = "SFSC\"
Do
$Group = ENUMGROUP($Index)
IF instr($Group, $Domain)
$Group = substr($Group,len($Domain)+1)
If instr($NonPrinterGrps, $Group)=0
$Printer = ReadProfileString("rinter.ini", "Printers", "$Group")
IF $Printer <> ""
SetDefaultPrinter ($Printer)
$PrinterSet = 1
endif
endif
endif
$Index=$index+1
UNTIL $PrinterSet=1 or Len ($Group) = 0
? $Printer
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%% END DEFAULT PRINTER SET %%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

;----------------------------------------------------
; ------ Begin Mobile User Settings -----------------
;----------------------------------------------------

cls
SETCONSOLE ("SHOW")
IF INGROUP ("MOBILE USERS")

? "PLEASE SELECT THE OFFICE"
? "YOU ARE WORKING AT TODAY"
? " PRESS 8 FOR RICHMOND"
? " PRESS 7 FOR WATERFORD"
? " PRESS 6 FOR WATERSTREET 1"
? " PRESS 5 FOR WATERSTREET 2"
? " PRESS 4 FOR LISBON"
? " PRESS 3 FOR WHITEFISH BAY"
? " PRESS 2 FOR NEW BERLIN"
? " PRESS 1 FOR FOXPOINT"

; DO NOT ADD ANY INFORMATION BELOW THIS LINE

FLUSHKB
GET $A

IF "$A" = "8" GOTO RCH ELSE "ENDIF"
IF "$A" = "7" GOTO WAT2 ELSE "ENDIF"
IF "$A" = "6" GOTO WTR1 ELSE "ENDIF"
IF "$A" = "5" GOTO WTR2 ElSE "ENDIF"
IF "$A" = "4" GOTO LBN ELSE "ENDIF"
IF "$A" = "3" GOTO WBY ELSE "ENDIF"
IF "$A" = "2" GOTO NBR ELSE "ENDIF"
IF "$A" = "1" GOTO FXP ELSE "ENDIF"

SLEEP 5
:WAT2 SetDefaultPrinter ("WAT02") GOTO "END"
:RCH SetDefaultPrinter ("RCHINV") GOTO "END"
:WTR1 SetDefaultPrinter ("watrst01") GOTO "END"
:WTR2 SetDefaultPrinter ("watrst02") GOTO "END"
:LBN SetDefaultPrinter ("lisbn") GOTO "END"
:WBY SetDefaultPrinter ("wbay") GOTO "END"
:NBR SetDefaultPrinter ("newber02") GOTO "END"
:FXP SetDefaultPrinter ("foxpoint") GOTO "END"
:END

ENDIF

printer.ini

;Printer configuration mapping file
[Printers]
WELGN=welgn01
LSBPRT=lsb01
Whitefishbay=wbay
Newberlin=nbe01
Foxpoint=foxpoint
BARTLETT=bart