bigwoodfarmer
Goto Top

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!

Content-Key: 143003

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

Printed on: April 20, 2024 at 03:04 o'clock

Member: dog
dog May 18, 2010 at 16:33:33 (UTC)
Goto Top
Woran scheiterst du genau?

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

Klappt problemlos...
Member: bigwoodfarmer
bigwoodfarmer May 19, 2010 at 09:57:14 (UTC)
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