zm0000
Goto Top

Drucker über die AD und Script zuweisen.

Hi Leute.
Ich hatte die Idee die Druckerzuweisung über Active Directory durchzuführen.
Momentan funktioniert das auch soweit gut, allerdings möchte ich wissen ob es dafür eine elegantere Lösung gibt.

unsere Druckerzuweisung erfolgt so:
auf dem Printserver wird ein Drucker angelegt und freigegeben, gleichzeitig wird in Active Directory eine Gruppe angelegt, die genau wie der Drucker heisst. z.B PR10
bei den Sicherheitseinstellungen des Druckers wird die Gruppe PR10 für die Zugriffsberechtigung hinzugefügt.

Die Druckerzuweisung erfolgt auf Gruppen und Benutzerebene direkt in Active Directory, indem man der AD-Gruppe (z.B PR10) die Benutzergruppen, bzw benutzer added.
Das Mapping erfolgt dann durch kix, da kix32 bei einer if Ingroup, auch die verschachtelten gruppen mitkriegt.

so sieht die kix aus:
;Break off
;SetConsole("Hide")  
? "losgehts"  

$pr001 = \\server1\pr001
$pr002 = \\server1\pr002
$pr003 = \\server1\pr003
$pr004 = \\server2\pr004
$pr005 = \\server4\pr005
$pr006 = \\server1\pr006

DelPrinters()


IF INGROUP("pr001")  
ADDPRINTERCONNECTION ("$pr001")  
? "Drucker $pr001 zugewiesen"  
ENDIF

IF INGROUP("pr002")  
ADDPRINTERCONNECTION ("$pr002")  
? "Drucker $pr002 zugewiesen"  
ENDIF

IF INGROUP("pr003")  
ADDPRINTERCONNECTION ("$pr003")  
? "Drucker $pr003 zugewiesen"  
ENDIF

IF INGROUP("pr004")  
ADDPRINTERCONNECTION ("$pr004")  
? "Drucker $pr004 zugewiesen"  
ENDIF

IF INGROUP("pr005")  
ADDPRINTERCONNECTION ("$pr005")  
? "Drucker $pr005 zugewiesen"  
ENDIF

IF INGROUP("pr006")  
ADDPRINTERCONNECTION ("$pr006")  
? "Drucker $pr006 zugewiesen"  

Function DelPrinters()

  Dim $aPrinters	; array of connections to delete
  Dim $P, $A		; pointers
  Dim $Key		; reg key
  Dim $Tmp		; tmp var
  Dim $Rv		; Return Value

  $A = -1
  $P = 0

  $Key = 'HKCU\Printers\Connections'  
  $Tmp = EnumKey($Key, $P)
  If $Tmp			; at least one printer?
    While Not @ERROR 
      $A = $A + 1
      ReDim Preserve $aPrinters[$A]
      $aPrinters[$A] = $Tmp
      $P = $P + 1
      $Tmp = EnumKey($Key, $P)
    Loop

    For Each $P in $aPrinters
      'delete ' $Key '\' $P ?  
      $Rv = DelKey($Key + '\' + $P)  
    Next

  EndIf

EndFunction



Delprinters Funktion löscht alle drucker, um die Leichen zu beseitigen.
Bei uns handelt es sich um ca 600 Drucker, und diese werden kreuz und quer von den Anwendern genutzt,

jetzt meine Frage.
Lässt sich die AD Druckerzuweisung eleganter steuern?

Content-Key: 168085

Url: https://administrator.de/contentid/168085

Printed on: April 24, 2024 at 19:04 o'clock

Member: lenny4me
lenny4me Jun 16, 2011, updated at Oct 18, 2012 at 16:47:16 (UTC)
Goto Top
Hallo,

...600 Drucker du meine Güte :D

Ich mappe meine Drucker über die GPO Preferences. Da gibt es auch eine super Anleitung hier im Forum (Druckerzuweisung per Gruppenrichtlinien - OHNE SCRIPT)... dort kannst du hinterlegen (GUI) welche Gruppe welchen Drucker zugewiesen bekommt. incl. Standart usw.
Ich kann Dir das nur empfehlen...

Aber für 600 Drucker eine GPO bauen wird wohl etwas Zeit und Hirnnschmalz in Anspruch nehmen.


Mfg Lenny