Ok, the easiest way that I can think of (maybe someone else has a more efficient way), would be to create different INI sections for the different groups. So if in teacher group, get all printers in that area, but if in student group then only get one printer in that area. I changed the INI to be like this...Where the same MAC area has different sections depending on the group the person is in. The modified code below will now check the approptiate section depending on which group that are in.

 Code:
[00:25:9C:AD:43:D6:teacher]
Location = Preparation
Shares = HP LaserJet 1320nw - Support:LaserJet1,Xerox WorkCentre 7345:Xerox1

[00:25:9C:AD:43:D6:student]
Location = Preparation
Shares = HP LaserJet 1320nw - Support:LaserJet1


Modified code...
 Code:
$mac = GetBSSID(1,@WkSta)
If InGroup("Teacher")
   $mac = $mac+":teacher"
Else
   If InGroup("Student")
      $mac = $mac+":student"
   Else
      $null = MessageBox("User is not in any of the printer groups.","Printer fejl",0)
      Quit
   EndIf
EndIf
$location = ReadProfileString ($LogonServer+"\NETLOGON\printer.ini", $mac, "Location")
$shares = ReadProfileString ($LogonServer+"\NETLOGON\printer.ini", $mac, "Shares")
If InStr($shares,",")
   $shares = Split($shares,",")
   $sharenum = 0
   For Each $shareobj in $shares
      $name = Split($shareobj,":")[0]
      $share = Split($shareobj,":")[1]
      If AddPrinterConnection("\\server\"+$share) = 0
         If $sharenum = UBound($shares)
            $null = SetDefaultPrinter("\\server\"+$name)
         EndIf
      Else
         $null = MessageBox("2 Der er et problem med at etablerer forbindelse til : "+$share,"Printer fejl",0)
      EndIf
      $sharenum = $sharenum+1
   Next
Else
   $name = Split($shares,":")[0]
   $share = Split($shares,":")[1]
   If AddPrinterConnection("\\server\"+$share) = 0
      $null = SetDefaultPrinter("\\server\"+$name)
   Else
      $null = MessageBox("2 Der er et problem med at etablerer forbindelse til : "+$share,"Printer fejl",0)
   EndIf
EndIf

FUNCTION GetBSSID(optional $device, optional $machine)
   $strComputer = IIF (VarType($machine)<2, @Wksta, $Machine)
   $objSWbemServices = GetObject("winmgmts:\\"+ $strComputer + "\root\wmi")
   $colInstances = $objSwbemServices.ExecQuery("SELECT * FROM MSNdis_80211_ReceivedSignalStrength WHERE Active=True")
   if $device<1
      $card_no=1
      $cards = "Please specify one of these devices to obtain it's BSSID :"
      for each $objInstance in $colInstances
         $cards = $cards+@CRLF+"Card "+$card_no+" = "+$objInstance.InstanceName
         $card_no=$card_no +1
      next
      $GetBSSID = $cards
      Return
   endIf
   $card_no=$device
   $x=1
   for each $objInstance in $colInstances
      if $x = $card_no
         $wifiAdapter = $objInstance.InstanceName
         $x = $x + 1
      endif
   next
   $last_signal = 0
   $bssid = ""
   $colInstances = $objSwbemServices.ExecQuery('SELECT * FROM MSNdis_80211_BaseServiceSetIdentifier WHERE Active = True AND InstanceName ="'+$wifiAdapter+'"')
   for each $objInstance in $colInstances
      $macbyte = 0
      for each $decval in $objInstance.Ndis80211MacAddress
         if $decval<17
            $bssid = $bssid + "0"
         endif
         $bssid = $bssid + DecToHex($decval)
         if $macbyte < 5
            $bssid = $bssid + ":"
            $macbyte = $macbyte + 1
         endif
      next
   next
   $colInstances = $objSwbemServices.ExecQuery ("SELECT * FROM MSNdis_80211_ReceivedSignalStrength WHERE Active = True AND InstanceName ='" + $wifiAdapter + "'")
   for each $objInstance in $colInstances
      $sigraw = $objInstance.Ndis80211ReceivedSignalStrength
      $signal = $sigraw + "dB"
   next
   $last_signal = $sigraw
   $GetBSSID = $bssid
ENDFUNCTION