If they are not hidden, no you do not need the $$ at the end. The advantage of the IF "@HOMESHR" <> "" is that if someone doesn't have a home folder defined, the script won't bomb...
Just think.. if you do a

USE G: @HOMESHR and @HOMESHR is blank, it will be like:

USE G: "" ... which returns an error. If you can get the @PRIMARYGROUP to work, go for it:

Try:

code:
IF "@HOMESHR" <> "" USE H: @HOMESHR ENDIF
SELECT
CASE "@PRIMARYGROUP" = "PER"
USE G: "\\server\PER"
CASE "@PRIMARYGROUP" = "ACD"
USE G: "\\server\ACD"
ENDSELECT

or

code:
IF "@HOMESHR" <> "" USE H: @HOMESHR ENDIF
USE G: "\\server\@PRIMARYGROUP"

If @PRIMARYGROUP is returning nothing, you'll have to go with INGROUP.

Brian