scipt vbs avec 2 inputbox

Le
Robby
Bonjour,
J'ai un script VBS avec ces 2 inputbox
strComputer = inputbox ("Nom de l'ordinateur")
Nomduservice = inputbox ("service")
Ensuite j'ai
Display(strComputer),(Nomduservice)
la function et puis :
Set colOS = objWMIService.Execquery("Select * from win32_Service where Name
= 'Nomduservice'")
For Each objtItem In colOS
MyFile.writeline "Nom du Service: " & objtItem.Caption
strMsg = strMsg & "Nom du Service: " & objtItem.Name & Chr(10)
objtItem.StopService()
Next
Mais voila, cela ne fonctionne pas j'ai aucune erreur mais le resultat est
vierge.
Est-ce possible d'entrer 2 variables pour afficher les objets WMI ?
Le nom de l'ordi
Le non du service
Cela fonctionne quand je select Name = 'TOTO' donc avec 1 imnput.
Merci d'avance,
Robby
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Marc Lognoul [MVP]
Le #20540171
Bonjour,

Il n'y a pas d'incompatibilité entre plusieurs variables (incrémentée via
inoutbox ou autre) et le query WMI.
Vérifiez le nom du service (Name est le nom court, Display Name, le nom
complet).

Exemple de code complet ci-dessous. NB: mettre le status "running" évite les
erreur en voulant stopepr un service qui n'est pas running)

strComputerName = InputBox("Computer name:")
strServiceName = InputBox("Service Name:")

Set objWMIService = GetObject("winmgmts:\" & strComputerName &
"rootcimv2")

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE
Name='" & strServiceName & "' AND State ='Running'")
For Each objItem in colItems
WScript.Echo objItem.Caption
Next


--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/


"Robby" news:epwT#
Bonjour,
J'ai un script VBS avec ces 2 inputbox
strComputer = inputbox ("Nom de l'ordinateur")
Nomduservice = inputbox ("service")
Ensuite j'ai
Display(strComputer),(Nomduservice)
la function et puis :
Set colOS = objWMIService.Execquery("Select * from win32_Service where
Name = 'Nomduservice'")
For Each objtItem In colOS
MyFile.writeline "Nom du Service: " & objtItem.Caption
strMsg = strMsg & "Nom du Service: " & objtItem.Name & Chr(10)
objtItem.StopService()
Next
Mais voila, cela ne fonctionne pas j'ai aucune erreur mais le resultat est
vierge.
Est-ce possible d'entrer 2 variables pour afficher les objets WMI ?
Le nom de l'ordi
Le non du service
Cela fonctionne quand je select Name = 'TOTO' donc avec 1 imnput.
Merci d'avance,
Robby



Robby
Le #20540851
Bonjour,
Mais quand je fixe ma variable avec le nom du service. je n'ai pas de
probleme.
Par contre le meme service, si je le mets en Inputbox, ca ne fonctionne pas.
il m'affiche le resultat mais vierge, juste avec mon nom d'ordinateur mais
pas le service.

"Marc Lognoul [MVP]" %
Bonjour,

Il n'y a pas d'incompatibilité entre plusieurs variables (incrémentée via
inoutbox ou autre) et le query WMI.
Vérifiez le nom du service (Name est le nom court, Display Name, le nom
complet).

Exemple de code complet ci-dessous. NB: mettre le status "running" évite
les erreur en voulant stopepr un service qui n'est pas running)

strComputerName = InputBox("Computer name:")
strServiceName = InputBox("Service Name:")

Set objWMIService = GetObject("winmgmts:\" & strComputerName &
"rootcimv2")

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE
Name='" & strServiceName & "' AND State ='Running'")
For Each objItem in colItems
WScript.Echo objItem.Caption
Next


--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/


"Robby" news:epwT#
Bonjour,
J'ai un script VBS avec ces 2 inputbox
strComputer = inputbox ("Nom de l'ordinateur")
Nomduservice = inputbox ("service")
Ensuite j'ai
Display(strComputer),(Nomduservice)
la function et puis :
Set colOS = objWMIService.Execquery("Select * from win32_Service where
Name = 'Nomduservice'")
For Each objtItem In colOS
MyFile.writeline "Nom du Service: " & objtItem.Caption
strMsg = strMsg & "Nom du Service: " & objtItem.Name & Chr(10)
objtItem.StopService()
Next
Mais voila, cela ne fonctionne pas j'ai aucune erreur mais le resultat
est vierge.
Est-ce possible d'entrer 2 variables pour afficher les objets WMI ?
Le nom de l'ordi
Le non du service
Cela fonctionne quand je select Name = 'TOTO' donc avec 1 imnput.
Merci d'avance,
Robby






Robby
Le #20541331
Desolé, mais enfin ca fonctionne (mauvaise synthase dans Name='"&....
Maintenant je voudrais mettre un IF en disant qu'il demarre le service s'il
est stopped et si il n'est pas stopped
ne pas lancer la cmde de demarrage.
Merci d'avance,

"Robby" %
Bonjour,
Mais quand je fixe ma variable avec le nom du service. je n'ai pas de
probleme.
Par contre le meme service, si je le mets en Inputbox, ca ne fonctionne
pas.
il m'affiche le resultat mais vierge, juste avec mon nom d'ordinateur mais
pas le service.

"Marc Lognoul [MVP]" news: %
Bonjour,

Il n'y a pas d'incompatibilité entre plusieurs variables (incrémentée via
inoutbox ou autre) et le query WMI.
Vérifiez le nom du service (Name est le nom court, Display Name, le nom
complet).

Exemple de code complet ci-dessous. NB: mettre le status "running" évite
les erreur en voulant stopepr un service qui n'est pas running)

strComputerName = InputBox("Computer name:")
strServiceName = InputBox("Service Name:")

Set objWMIService = GetObject("winmgmts:\" & strComputerName &
"rootcimv2")

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE
Name='" & strServiceName & "' AND State ='Running'")
For Each objItem in colItems
WScript.Echo objItem.Caption
Next


--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/


"Robby" news:epwT#
Bonjour,
J'ai un script VBS avec ces 2 inputbox
strComputer = inputbox ("Nom de l'ordinateur")
Nomduservice = inputbox ("service")
Ensuite j'ai
Display(strComputer),(Nomduservice)
la function et puis :
Set colOS = objWMIService.Execquery("Select * from win32_Service where
Name = 'Nomduservice'")
For Each objtItem In colOS
MyFile.writeline "Nom du Service: " & objtItem.Caption
strMsg = strMsg & "Nom du Service: " & objtItem.Name & Chr(10)
objtItem.StopService()
Next
Mais voila, cela ne fonctionne pas j'ai aucune erreur mais le resultat
est vierge.
Est-ce possible d'entrer 2 variables pour afficher les objets WMI ?
Le nom de l'ordi
Le non du service
Cela fonctionne quand je select Name = 'TOTO' donc avec 1 imnput.
Merci d'avance,
Robby











Marc Lognoul [MVP]
Le #20543341
Bonsoir,
Desolé, mais enfin ca fonctionne (mauvaise synthase dans Name='"&....


Heu, oui, c'est pour cette raison que j'avai inclus un exemple ;)
Maintenant je voudrais mettre un IF en disant qu'il demarre le service
s'il est stopped et si il n'est pas stopped
ne pas lancer la cmde de demarrage.


Dans la condition IF, veillez également à tester le contenu de la propriété
"StartMode" afin de ne pas tenter de démarrer un service désactivé.

Voir http://msdn.microsoft.com/en-us/library/aa394418(VS.85).aspx

--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/



Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Service
WHERE Name='" & strServiceName & "' AND State ='Running'")
For Each objItem in colItems
WScript.Echo objItem.Caption
Next






Lotre
Le #20543331
Robby wrote:
Bonjour,
Set colOS = objWMIService.Execquery("Select * from win32_Service
where Name = 'Nomduservice'")



a mon avis la fin est incorrecte
" ..... Name = 'Nomduservice'"
il cherche un service qui se nomme effectivement "Nomduservice"
( et je doute qu'il y en ait ;o)

Il faut
" ..... Name ='" & Nomduservice & "'"

oui bon ...entre les guillemets simples et doubles
on voit assez mal ;o)

HB
Publicité
Poster une réponse
Anonyme