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 : Sélectionner tout - Visualiser dans une fenêtre à part
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