[R]Requête WMI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 63
Enregistré le : mar. 13 oct. 2009 21:41
Status : Hors ligne

[R]Requête WMI

#1

Message par camil »

Bonjour,

Je voudrai insérer dans cette requête WMI le compte administrateur et le mot de passe car en simple utilisateur cela ne fonctionne pas.
Merci pour votre aide.
Local $objWMIService = ObjGet("winmgmts:\\" & "\\PCRESEAU" & "\root\CIMV2")

If $objWMIService = 0 Then
   msgbox(64,"erreur" , "Il faut un compte Administrateur")
   Exit
Else
   msgbox(0,"Réussi" , "ok")
   Exit
EndIf
Modifié en dernier par camil le ven. 10 juil. 2020 15:59, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..]Requête WMI

#2

Message par Tlem »

Bonsoir.

#RequireAdmin devrait répondre à la question.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 63
Enregistré le : mar. 13 oct. 2009 21:41
Status : Hors ligne

Re: [..]Requête WMI

#3

Message par camil »

Non, je suis dans un domaine alors je veux intégrer un compte admin pour exécuter une requête sur un compte utilisateur sans pouvoir comme un runas
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..]Requête WMI

#4

Message par Tlem »

Du coup, vous allez écrire dans votre script le login et pass d'un compte administrateur qu'il suffira de lire u'e fois le script de compilé... ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 63
Enregistré le : mar. 13 oct. 2009 21:41
Status : Hors ligne

Re: [..]Requête WMI

#5

Message par camil »

Bonjour,
Dans un 1er temps pour test oui et je verrai après pour sécuriser le script.
Pour être plus claire:
Je souhaite vérifier si une imprimante existe sur sur un des serveurs d'impressions. Mais lorsque je veux récupérer l’information avec fileExist, il ne voit les imprimantes partagées et les répertoires partagés sont bien recupérés dans la variable .
Alors quand faisant un cmd "explorer \\sprinter1\" sous Windows, les imprimante et les repertoires partagés sont visibles
Modifié en dernier par camil le ven. 10 juil. 2020 15:59, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..]Requête WMI

#6

Message par jchd »

Une imprimante partagée n'est pas un fichier !
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 63
Enregistré le : mar. 13 oct. 2009 21:41
Status : Hors ligne

Re: [..]Requête WMI

#7

Message par camil »

Oui, effectivement. alors y a t'il un autre moyen de vérifier si une imprimante est présente sur un serveur sans être administrateur ?
Vu que tous les utilisateurs de mon domaine peuvent explorer et voire ces imprimantes sans être admin avec \\serveur.
rgx
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 16 nov. 2019 17:53
Status : Hors ligne

Re: [..]Requête WMI

#8

Message par rgx »

Je souhaite vérifier si une imprimante existe sur sur un des serveurs d'impressions
Une imprimante n'est visible avec les outils réseaux (ex: net view) que si l'admin l'a paramétrée comme comme telle.
Cependant, les imprimantes actuelles ayant pratiquement toujours leur propre carte réseau, si tu connais l'@, fais un "ping" dessus.
:wink:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..]Requête WMI

#9

Message par Tlem »

D'après vos renseignement, vous êtes sur un domaine. Du coup, pourquoi ne pas renseigner dans un fichier partagé la liste des imprimantes en exécutant avec les droits administrateur un script sur le serveur ?
Après, vous pouvez aussi exécuter la requête par une tâche planifiée pour le compte "System" qu'un script sans droits pourra lancer. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..]Requête WMI

#10

Message par jguinch »

Hello
Logiquement, il n'y a pas besoin d'être administrateur pour lister les imprimantes (car il faut quand même bien que les utilisateurs puissent s'y connecter pour imprimer).
Je pense que le script doit s'exécuter avec le compte utilisateur.
Sans trop connaître le contexte, je dirais qu'il te suffit de vérifier si le partage existe :
#include <NetShare.au3>
Global $aInfo = _Net_Share_ShareGetInfo("sprinter1", "print1234")
If Not @error Then MsgBox(0, "", "La partage existe")
Pour lister toutes les imprimantes partagées, tu peux utiliser _Net_Share_ShareEnum
Sinon, tu peux aussi utiliser la librairie AD (voir forum US) et lister les objets de type "imprimante" si celles-ci sont publiées dans ton AD.

Edit : oups, j'ai surement écrit un peut vite, j'avais pas vu la remarque dans le fichier d'aide :
Administrator, Power User, Print Operator, or Server Operator group membership is required to execute this function.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 63
Enregistré le : mar. 13 oct. 2009 21:41
Status : Hors ligne

Re: [R]Requête WMI

#11

Message par camil »

Bonjour,
Merci @jguinch, cela me convient parfaitement.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..]Requête WMI

#12

Message par jguinch »

Autre méthode (vu que la précédente ne fonctionnera pas car l'utilisateur n'aura pas les droits suffisants").
L'idée est ici d'exporter les paramètres de l'imprimante dans un fichier. Si l'imprimante existe, le fichier sera exporté, sinon pas de fichier.
#Include <File.au3>

Local $sPrinterName = "\\sprinter1\print1234"
Local $sTmpFile = _TempFile()

RunWait('RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Xg /n "' & $sPrinterName & '" /f "' & $sTmpFile & '" /q')
If FileExists($sTmpFile) Then MsgBox(0, "", "L'imprimante existe")
FileDelete($sTmpFile)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
camil
Niveau 4
Niveau 4
Messages : 63
Enregistré le : mar. 13 oct. 2009 21:41
Status : Hors ligne

Re: [R]Requête WMI

#13

Message par camil »

Merci @jguinch, je viens de faire un test. Super l'astuce, marche impeccable... :D
Répondre