J'essaye de lister les imprimantes d'un utilisateur à distant.
J'ai voulu partir de ce code
#include <Array.au3>
Local $PrinterList[1][4], $PrinterCount
Local $objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")
if @error Then
msgbox(64,"Erreur ! (" & @error &")" ,"Veuillez utiliser un compte administrateur sur le domaine pour visulaiser la liste des imprimantes sur le serveur " & $computer ) ; récupération de l'erreur si non autorisé
Return
Else
Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Printer")
If IsObj($colItems) Then
For $objItem In $colItems
ReDim $PrinterList[$PrinterCount + 1][4]
$sharename = $objItem.ShareName
$PrinterList[$PrinterCount][0] = $objItem.shareName
$PrinterList[$PrinterCount][1] = $objItem.DeviceID
$PrinterCount += 1
Next
_ArrayDisplay($PrinterList, "$aFileList")
EndIf
EndIf
Local $PrinterList[1][4], $PrinterCount
Local $objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")
if @error Then
msgbox(64,"Erreur ! (" & @error &")" ,"Veuillez utiliser un compte administrateur sur le domaine pour visulaiser la liste des imprimantes sur le serveur " & $computer ) ; récupération de l'erreur si non autorisé
Return
Else
Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Printer")
If IsObj($colItems) Then
For $objItem In $colItems
ReDim $PrinterList[$PrinterCount + 1][4]
$sharename = $objItem.ShareName
$PrinterList[$PrinterCount][0] = $objItem.shareName
$PrinterList[$PrinterCount][1] = $objItem.DeviceID
$PrinterCount += 1
Next
_ArrayDisplay($PrinterList, "$aFileList")
EndIf
EndIf
j'ai voulu essayé en allant lire sur la base de registre.
J''ai remarqué plusieurs endroits ou je pourrai récupérer les informations.
Ordinateur\HKEY_CURRENT_USER\Printers\Connections
Ordinateur\HKEY_USERS\S-1-5-21-759405821-1666520105-3629554393-1981\Printers\ConvertUserDevModesCount
Ordinateur\HKEY_USERS\S-1-5-21-759405821-1666520105-3629554393-546158\Printers\ConvertUserDevModesCount
Ordinateur\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print
Ordinateur\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Print
le truc c'est que j'ai trouvé comment lister les clés pour un poste local avec RegEnumKey mais je n'ai pas trouvé pour un poste distant.
je sais qu'aver GetStringValue on peut récuperer l'info directement sur une variable mais moi je voudrais lister les clés pour ensuite récupérer les bonnes variables.
Avez-vous des informations à ce sujet.
Merci d'avance,
Damien.