Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

scipt vbs avec 2 inputbox

5 réponses
Avatar
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

5 réponses

Avatar
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" wrote in message
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



Avatar
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]" a écrit dans le message de 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" wrote in message
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






Avatar
Robby
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" a écrit dans le message de news:
%
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]" a écrit dans le message de
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" wrote in message
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











Avatar
Marc Lognoul [MVP]
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






Avatar
Lotre
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