bigwoodfarmer

Drucker anhand LDAP Attribut verbinden

Hallo,

dies ist mein erster Beitrag in diesem Forum, ich habe schon etwas gestöbert aber konnte noch keine direkte Antwort zu meiner Frage finden.

Frage: Wie verbinde ich einen Drucker für einen Terminalserver Benutzer anhand des Büro Attributs?

Als erstes habe ich ein Skript geschrieben was mir die Raumnummern der Benutzer einer OU ausliest, und in eine Testdatei schreibt.

' Skript Start

Option Explicit
dim fso
dim outfile
dim ou

Set fso = CreateObject("Scripting.FileSystemObject")
Set outfile = fso.OpenTextFile("s:\raumnummer.txt", 2, True)
Set ou = GetObject("LDAP://ou=UnsereOU,dc=UnsereDomain,dc=de")
ou.Filter = Array("user")
For Each obj in ou
outfile.writeline obj.displayname & " " & obj.physicalDeliveryOfficeName
Next

' Ende

Soweit so gut, jetzt ist die Frage wie ich anhand dieses Attributs die Drucker der Benutzer verbinde. Der Befehl sollte warscheinlich ähnlich zu diesem aussehen:

AddWindowsPrinterConnection "\\printserver\raum_" & physicalDeliveryOfficeName & "_drucker"

Da alle Drucker auf einem Druckserver immer als "raum_raumnummer_drucker" freigeben werden. Jedoch scheitere ich an der Ausgabe des Attributs für den momentan angemeldeten Benutzer. Kann mir da jemand helfen?

Vielen Dank!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 143003

Url: https://administrator.de/forum/drucker-anhand-ldap-attribut-verbinden-143003.html

Ausgedruckt am: 11.05.2025 um 05:05 Uhr

dog
dog 18.05.2010 um 18:33:33 Uhr
Goto Top
Woran scheiterst du genau?

set objAD = CreateObject("ADSystemInfo")  
Set objUs = GetObject("LDAP://" & objAD.UserName)  
MsgBox(objUs.physicalDeliveryOfficeName)

Klappt problemlos...
bigwoodfarmer
bigwoodfarmer 19.05.2010 um 11:57:14 Uhr
Goto Top
Vielen dank! Das war genau das was mir gefehlt hat. Ich konnte den richtigen LDAP Syntax einfach nicht austüfteln.

Das Skript funktioniert jetzt wie gewollt.

' Skript Start  

'Erzwingen das Variablen vor der Verwendung definiert werden  
Option Explicit

'Definition der Variablen und Objekte zum auslesen von LDAP   
dim objNetwork, objAD, objUs, strprint, strconfig1, strconfig2, strconfig3
Set objAD = CreateObject("ADSystemInfo")  
Set objUs = GetObject("LDAP://" & objAD.UserName)  
Set objNetwork = CreateObject("WScript.Network")   

'Variablen die sich später zu den Druckerpfad zusammensetzen  
strprint = "\\printserver\raum_"  
strconfig1 = "_simplex"  
strconfig2 = "_duplex"  
strconfig3 = "_briefpapier"  

'Befehl um den Drucker zu addieren der drucker  

'Drucker mit simplex konfiguration verbinden  
objNetwork.AddWindowsPrinterConnection strprint & objUs.physicalDeliveryOfficeName & strconfig1
WScript.Echo "Simplex Drucker wurde verbunden"  

'Drucker mit duplex konfiguration verbinden  
objNetwork.AddWindowsPrinterConnection strprint & objUs.physicalDeliveryOfficeName & strconfig2
objNetwork.SetDefaultPrinter strprint & objUs.physicalDeliveryOfficeName & strconfig2
WScript.Echo "Duplex Drucker wurde verbunden und als Standart definiert"  

'Drucker mit briefpapier konfiguration verbinden  
objNetwork.AddWindowsPrinterConnection strprint & objUs.physicalDeliveryOfficeName & strconfig3
WScript.Echo "Briefpapier Drucker wurde verbunden"  

WScript.Echo "Fertig!"  
'Ende