Bonjour,

dans le cadre d'un stage de fin d'études, je suis confronté à un problème.

Je dois faire du monitoring Windows en passant par WMI. Je n'ai aucun problème tant que je me log avec un utilisateur admin (local ou domain). Pour des raisons de sécurité évidente, je voudrais créer un utilisateur non-admin qui pourrait uniquement lire les attributs des classes WMI. J'ai donc créé cette utilisateur, et je lui ai attribué les droits nécessaire via wmimgmt et dcomcfng sur le serveur Windows.

J'utilise l'outil wmic (utilitaire Linux) qui fonctionne très bien. Voilà la syntaxe que j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
wmic -U domain/useradmin%password //192.168.1.1 "select * from Win32_Service"
Aucun problèmes, tout fonctionne. L'idée serait de passer à ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
wmic -U domain/user-non-admin%password //192.168.1.1 "select * from Win32_Service"
Bien évidemment cela ne fonctionne pas

Je précise que j'arrive à récupérer certaines instances de classes en non-admin, par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
wmic -U domain/user-non-admin%password //192.168.1.1 "select * from Win32_Process"
retourne bien les valeurs attendues.

En feuilletant sur msdn j'ai cru lire que pour certaines classes, l'user devait avoir le privilège "SC_MANAGER_CONNECT" d'activé. J'ai un peu de mal à comprendre, car il semblerait que tout user authentifié ai ce privilège (ou alors j'ai mal compris...).

Dans le cas ou j'aurais mal compris, comment attribuer à un utilisateur ce droit ?

Merci de votre aide

[EDIT] Pour préciser les choses, l'erreur retourné lorsque je fais une requête avec mon user non-admin est :

ERROR: Retrieve result data.
NTSTATUS: NT code 0xc0041001 - NT code 0xc0041001