feri
Goto Top

Alle Drucker, die im Active Directory veröffentlich sind per Skript (ADSI) auflisten

Ahoi,

ich habe folgendes Problem. Ich will eine Abfrage erstellen, die alle veröffentlichten Drucker und Shares im Activ Directory zurückgibt.

Dazu habe ich folgenden Beispielcode erstellt (gekürzt)

Option Explicit

' Deklarationen für die Abfrage  
' -----------------------------  
Dim objCommand
Dim objConnection
Dim objRecordset
Dim strName

' Abfrage  
' -------  
Set objCommand = CreateObject("ADODB.Command")  
Set objConnection = CreateObject("ADODB.Connection")  
objConnection.Provider = "ADsDSOObject"  
objConnection.Open "Active Directory Provider"  
objCommand.ActiveConnection = objConnection

objCommand.CommandText = _
	"SELECT  ??? " & _  
	"FROM 'LDAP://...(Bindung)...' " & _  
	"WHERE objectCategory ='???' "   


Set objRecordSet = objCommand.Execute

Do Until objRecordSet.EOF
  	strName = objRecordSet.Fields("distinguishedName").Value    
  	Wscript.Echo "DName:  " & strName  
	objRecordSet.MoveNext
Loop

objConnection.Close

Die Abfrage funktioniert einwandfrei solange ich Benutzer bzw. Computer abfrage. Die Drucker und Shares lassen sich
auflisten allerdings scheint es so, dass sie keiner Objektkategorie angehören.

Wenn ich jedoch einfach alles durchsuche also objectCategory='*' dann bekomme ich auch die Shares und Drucker aufgelistet.
Aber ein Drucker bzw. Share sollte doch eigentlich in einer eigenen Klasse sein bzw. von einem spezifischen Objekttyp sein.

Das Schema des Active Directory habe ich schonmal durchsucht. Dort gibt es eine Klasse 'printQueue' - Allerdings wird ein Drucker, der im AD veröffentlicht wird offensichtlich nicht automatisch dem Objekt 'printQueue' zugeordnet.

Nachtrag:

Objekte werden automatisch einer Klasse zugeordnet. (wäre sonst ja auch unsinn!)

Ok, Problem selbst gelöst:

Drucker: objectCategory ='printQueue'
Share: objectCategory ='volume'

Content-Key: 13657

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

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