Bonjour,
voilà, je souhaite démarrer (ou arreter) un service via le WMI.
Super facile.
Par contre, je voudrais avoir une alerte quand le service est effectivement démarré. En effet, entre la demande de démarrage et le démarrage, il peut se passer plusieurs secondes.
Voici un script que j'ai écris, j'indique dedans la commande qui me manque :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Dim Services, ObjetSet, Objet
Set Services = GetObject("winmgmts:\\")
Set ObjetSet = Services.InstancesOf("Win32_Service")
Dim etat
For Each Objet In ObjetSet
if Objet.name = "MSSQLSERVER" Then
etat = ucase(Objet.state)
if etat <> "RUNNING" Then
Objet.StartService
etat = ucase(Objet.state)
'ici je cherche un truc genre (tant que en cours de demaraage)...
while (etat <>"RUNNING")
etat = ucase(Objet.state)
wend
End If
End If
Next |
Il semble que la ligne
etat = ucase(Objet.state)
dans le while ne soit jamais remise à jour car même lorsque le service est en état demarrer dans windows, la variable ETAT est toujours à STOPPED.
Une idée ?
Partager