Requête Localisation imprimante via Active Directory
Bonjour,
Je cherche à récolter les informations de localisation ou autre d'une imprimante réseau depuis un serveur via l'AD.
Le problème se situe au niveau de la variable strPrinter.
Le script fonctionne parfaitement si je définis strPrinter = "Printer-0001" ou à l'aide d'une inputBox.
Cependant ma variable strPrinter est issue du query d'un fichier texte positionné sur l'ordinateur en réseau que je questionne au préalable.
Un rapide test par MsgBox me rassure sur le contenu de cette variable mais le select ne veut rien savoir sous cette forme.
J'obtiens un joli BOF ou EOF est égal à True
Code 800A0BCD
J'ai essayé de déclarer cette variable as String mais le script ne veut pas de ça non plus.
Je cherche donc une âme charitable ;) pour m'aider à résoudre le script ci-dessous.
Merci d'avance,
Bruno
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("\\computer\c$\Temp\DefaultPrinter.txt",1)
strPrinter = objFileToRead.ReadAll()
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "Select printerName, serverName, Localisation from " _
& " 'LDAP://DC=huge, DC=ad, DC=hcuge, DC=ch' where objectClass='printQueue' and printername='" & strPrinter & "'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Wscript.Echo "Printer Name: " & objRecordSet.Fields("printerName").Value
Wscript.Echo "Server Name: " & objRecordSet.Fields("serverName").Value
Wscript.Echo "Localisation : " & objRecordSet.Fields("localisation ").Value
objRecordSet.MoveNext
Loop |