$Index = 0
$PrintGroups = ""
$PrintName = ""
$HQServer = "\\NOPRTHQ02\"
$HCServer = "\\NOPRTHC02\"
$Server = ""
$Index = 0
$Index2 = 0
$ValueName = ""
$ValueName2 = ""
$Install = "YES"
;====================================
; REMOVE PRINTERS NOT REGISTERED
;====================================
$Index = 0
:Loop1
$ValueName = ENUMVALUE("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts", $Index)
If @ERROR = 0
$ValueName2 = Right ($ValueName, Len ($ValueName) - InStrRev($ValueName, "\"))
If NOT InGroup ("SD\PRT_" + $ValueName2)
; Kommentert ut For NFRA pilot
; DelPrinterConnection($ValueName)
; ? "Printer deleted: " + $ValueName
EndIf
$Index = $Index + 1
Goto Loop1
EndIf
;====================================
; ADD PRINTERS NOT ALREADY ADDED
;====================================
$Index = 0
Do
$Group = EnumGroup($Index)
If Mid($Group,4,4) = "PRT_"
$PrintGroups = $PrintGroups + ", " + $Group
$PrintName = Right($Group, Len($Group)-7)
if Mid($PrintName,4,1) = "_"
$Server = $HCServer
else
$Server = $HQServer
EndIf
; Check Registry - finn alle installerte skriverobjekter
$Index2 = 0
:Loop2
$ValueName = ENUMVALUE("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts", $Index2)
If @ERROR = 0
$ValueName2 = Right ($ValueName, Len ($ValueName) - InStrRev($ValueName, "\"))
If $ValueName2 = $PrintName
? "Printer already exist: " + $PrintName
$Install = "NO"
EndIf
$Index2 = $Index2 + 1
Goto Loop2
EndIf
If $Install = "YES"
ADDPRINTERCONNECTION($Server + $PrintName)
? "Printer added: " + $Server + $PrintName
EndIf
$Install = "YES"
EndIf
$Index = $Index + 1
Until Len($Group) = 0
;---------------;
; function: MID ;
;---------------;
Function MID($midstring,$midstart,optional $midend)
;SYNTAX mid($midstring,$midstart,optional $midend)
;
;PARAMETERS $Midstring - String of characters to search
; $Midstart - Character Index number to start with.
; Base 1 or -1: Positve Number = Left, Negative Number = Right
; $Midend (optional) - Number of Characters to include from $midstart
;
;
;Example
;
; $string='Hello this is a test'
;
;? Mid($string,7,4) ;returns 'this'
;? Mid($string,7) ;returns 'this is a test'
;? Mid($string,-6) ;returns 'Hello this is a'
;? Mid($string,-8,2) ;returns 'is'
If $midend<0
$midend=abs($midend)
Else
If $midend>Len($midstring)-abs($Midstart) OR $midend=""
$midend=0
EndIf
EndIf
Select
Case $midstart<0
$midstart=abs($midstart)
If $midend=0
$mid=Left(Right($midstring,Len($midstring)),(Len($midstring)-$midstart)+1)
Else
$mid=Left(Right($midstring,($midstart+$midend)-1),$midend)
EndIf
Case $midstart>0
If $midend=0
$mid= Right(Left($midstring,Len($midstring)),(Len($midstring)-$midstart)+1)
Else
$mid=Right(Left($midstring,($midstart+$midend)-1),$midend)
EndIf
EndSelect
EndFunction