Problème de compatiblité avec un vbs sous Windows 2000
3 réponses
titoubc
Bonjour,
J'ai un script vbs qui me renvoie le chemin d'o=F9 est lanc=E9 une
application.
Voil=E0 le code:
Set objWMIService =3D GetObject("winmgmts:" _
& "{impersonationLevel=3Dimpersonate}!\\.\root\cimv2")
Set colProcesses =3D objWMIService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name =3D 'monApplication.exe'")
If colProcesses.Count =3D 0 Then
Wscript.Echo "No scripts are running."
Else
for each objProcess in colProcesses
if not isnull(objProcess.CommandLine) then
Wscript.Echo Right(Left(objProcess.CommandLine,
InStrRev(objProcess.CommandLine, "\") - 1),
Len(Left(objProcess.CommandLine, InStrRev(objProcess.CommandLine, "\")
- 1)) - 1)
exit for
end if
next
End If
Le script me renvoit par exemple "C:\MonApplication" que j'utilise
ensuite dans un batch.
Le script fonctionne tr=E8s bien sous XP, Vista et 2003 Serveur mais
impossible de la faire tourner sous du 2000...
L'erreur:
Ligne 12 Cara 9
Cet objet ne g=E8re pas cette propri=E9t=E9 ou cette m=E9thode
objProcess.CommandLine
Je m'y connais bien en batch mais pas du tout en Vbscript...
J'imagine que cel=E0 n'est pas g=E9r=E9 par Windows 2000 tout simplement.
Ma question est donc de savoir si il est possible, (via un script
compatible 2000) de r=E9cup=E9rer le chemin physique d'une application
lanc=E9e ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques Barathon [MS]
La doc en ligne pour Win32_Process indique bien que la propriété CommandLine est apparue avec XP: http://msdn2.microsoft.com/en-us/library/aa394372.aspx
La même doc indique la propriété ExecutablePath comme devant retourner le chemin de l'application. Cette information semble être exactement ce que tu cherches, non?
Jacques
wrote in message news: Bonjour,
J'ai un script vbs qui me renvoie le chemin d'où est lancé une application. Voilà le code:
Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!.rootcimv2")
Set colProcesses = objWMIService.ExecQuery _ ("SELECT * FROM Win32_Process WHERE Name = 'monApplication.exe'")
If colProcesses.Count = 0 Then Wscript.Echo "No scripts are running." Else
for each objProcess in colProcesses if not isnull(objProcess.CommandLine) then Wscript.Echo Right(Left(objProcess.CommandLine, InStrRev(objProcess.CommandLine, "") - 1), Len(Left(objProcess.CommandLine, InStrRev(objProcess.CommandLine, "") - 1)) - 1) exit for end if next
End If
Le script me renvoit par exemple "C:MonApplication" que j'utilise ensuite dans un batch. Le script fonctionne très bien sous XP, Vista et 2003 Serveur mais impossible de la faire tourner sous du 2000...
L'erreur: Ligne 12 Cara 9 Cet objet ne gère pas cette propriété ou cette méthode objProcess.CommandLine
Je m'y connais bien en batch mais pas du tout en Vbscript...
J'imagine que celà n'est pas géré par Windows 2000 tout simplement.
Ma question est donc de savoir si il est possible, (via un script compatible 2000) de récupérer le chemin physique d'une application lancée ?
Merci d'avance.
La doc en ligne pour Win32_Process indique bien que la propriété CommandLine
est apparue avec XP:
http://msdn2.microsoft.com/en-us/library/aa394372.aspx
La même doc indique la propriété ExecutablePath comme devant retourner le
chemin de l'application. Cette information semble être exactement ce que tu
cherches, non?
Jacques
<titoubc@gmail.com> wrote in message
news:1190810473.667542.293990@22g2000hsm.googlegroups.com...
Bonjour,
J'ai un script vbs qui me renvoie le chemin d'où est lancé une
application.
Voilà le code:
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\.rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'monApplication.exe'")
If colProcesses.Count = 0 Then
Wscript.Echo "No scripts are running."
Else
for each objProcess in colProcesses
if not isnull(objProcess.CommandLine) then
Wscript.Echo Right(Left(objProcess.CommandLine,
InStrRev(objProcess.CommandLine, "") - 1),
Len(Left(objProcess.CommandLine, InStrRev(objProcess.CommandLine, "")
- 1)) - 1)
exit for
end if
next
End If
Le script me renvoit par exemple "C:MonApplication" que j'utilise
ensuite dans un batch.
Le script fonctionne très bien sous XP, Vista et 2003 Serveur mais
impossible de la faire tourner sous du 2000...
L'erreur:
Ligne 12 Cara 9
Cet objet ne gère pas cette propriété ou cette méthode
objProcess.CommandLine
Je m'y connais bien en batch mais pas du tout en Vbscript...
J'imagine que celà n'est pas géré par Windows 2000 tout simplement.
Ma question est donc de savoir si il est possible, (via un script
compatible 2000) de récupérer le chemin physique d'une application
lancée ?
La doc en ligne pour Win32_Process indique bien que la propriété CommandLine est apparue avec XP: http://msdn2.microsoft.com/en-us/library/aa394372.aspx
La même doc indique la propriété ExecutablePath comme devant retourner le chemin de l'application. Cette information semble être exactement ce que tu cherches, non?
Jacques
wrote in message news: Bonjour,
J'ai un script vbs qui me renvoie le chemin d'où est lancé une application. Voilà le code:
Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!.rootcimv2")
Set colProcesses = objWMIService.ExecQuery _ ("SELECT * FROM Win32_Process WHERE Name = 'monApplication.exe'")
If colProcesses.Count = 0 Then Wscript.Echo "No scripts are running." Else
for each objProcess in colProcesses if not isnull(objProcess.CommandLine) then Wscript.Echo Right(Left(objProcess.CommandLine, InStrRev(objProcess.CommandLine, "") - 1), Len(Left(objProcess.CommandLine, InStrRev(objProcess.CommandLine, "") - 1)) - 1) exit for end if next
End If
Le script me renvoit par exemple "C:MonApplication" que j'utilise ensuite dans un batch. Le script fonctionne très bien sous XP, Vista et 2003 Serveur mais impossible de la faire tourner sous du 2000...
L'erreur: Ligne 12 Cara 9 Cet objet ne gère pas cette propriété ou cette méthode objProcess.CommandLine
Je m'y connais bien en batch mais pas du tout en Vbscript...
J'imagine que celà n'est pas géré par Windows 2000 tout simplement.
Ma question est donc de savoir si il est possible, (via un script compatible 2000) de récupérer le chemin physique d'une application lancée ?
Merci d'avance.
Gilles LAURENT [MVP]
"" a écrit dans le message de news: | Bonjour,
Bonjour,
| Ma question est donc de savoir si il est possible, (via un script | compatible 2000) de récupérer le chemin physique d'une application | lancée ?
A l'aide de la propriété ExecutablePath de la classe Win32_Process comme justement indiqué par Jacques. Cette propriété contient le chemin complet de l'exécutable en plus de son nom. Pour extraire uniquement le dossier de démarrage :
Set oRe=New RegExp:oRe.Pattern="(.*)" ' greedy WScript.Echo oRe.Execute(objProcess.ExecutablePath)(0).SubMatches(0)
Pour connaitre la ligne de commande (propriété WMI CommandLine) sur les versions précédentes de Windows, il est nécessaire de s'appuyer sur un outil tiers, tel que l'outil CmdLine.exe : http://www.bearcanyon.com/tools/cmdline.zip
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"titoubc@gmail.com" <titoubc@gmail.com> a écrit dans le message de
news:1190810473.667542.293990@22g2000hsm.googlegroups.com
| Bonjour,
Bonjour,
| Ma question est donc de savoir si il est possible, (via un script
| compatible 2000) de récupérer le chemin physique d'une application
| lancée ?
A l'aide de la propriété ExecutablePath de la classe Win32_Process comme
justement indiqué par Jacques. Cette propriété contient le chemin
complet de l'exécutable en plus de son nom. Pour extraire uniquement le
dossier de démarrage :
Set oRe=New RegExp:oRe.Pattern="(.*)\" ' greedy
WScript.Echo oRe.Execute(objProcess.ExecutablePath)(0).SubMatches(0)
Pour connaitre la ligne de commande (propriété WMI CommandLine) sur les
versions précédentes de Windows, il est nécessaire de s'appuyer sur un
outil tiers, tel que l'outil CmdLine.exe :
http://www.bearcanyon.com/tools/cmdline.zip
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
| Ma question est donc de savoir si il est possible, (via un script | compatible 2000) de récupérer le chemin physique d'une application | lancée ?
A l'aide de la propriété ExecutablePath de la classe Win32_Process comme justement indiqué par Jacques. Cette propriété contient le chemin complet de l'exécutable en plus de son nom. Pour extraire uniquement le dossier de démarrage :
Set oRe=New RegExp:oRe.Pattern="(.*)" ' greedy WScript.Echo oRe.Execute(objProcess.ExecutablePath)(0).SubMatches(0)
Pour connaitre la ligne de commande (propriété WMI CommandLine) sur les versions précédentes de Windows, il est nécessaire de s'appuyer sur un outil tiers, tel que l'outil CmdLine.exe : http://www.bearcanyon.com/tools/cmdline.zip
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
titoubc
A l'aide de la propriété ExecutablePath de la classe Win32_Process co mme justement indiqué par Jacques. Cette propriété contient le chemin complet de l'exécutable en plus de son nom. Pour extraire uniquement le dossier de démarrage :
Set oRe=New RegExp:oRe.Pattern="(.*)" ' greedy WScript.Echo oRe.Execute(objProcess.ExecutablePath)(0).SubMatches(0)
Pour connaitre la ligne de commande (propriété WMI CommandLine) sur l es versions précédentes de Windows, il est nécessaire de s'appuyer sur un outil tiers, tel que l'outil CmdLine.exe :http://www.bearcanyon.com/tools /cmdline.zip
-- Gilles LAURENT MVP Windows Server - Admin Frameworkshttp://glsft.free.fr
Bonjour,
Je n'ai qu'une chose à dire.... MERCI MERCI MERCI c'est exactement ce que je voulais.
A bientôt
A l'aide de la propriété ExecutablePath de la classe Win32_Process co mme
justement indiqué par Jacques. Cette propriété contient le chemin
complet de l'exécutable en plus de son nom. Pour extraire uniquement le
dossier de démarrage :
Set oRe=New RegExp:oRe.Pattern="(.*)\" ' greedy
WScript.Echo oRe.Execute(objProcess.ExecutablePath)(0).SubMatches(0)
Pour connaitre la ligne de commande (propriété WMI CommandLine) sur l es
versions précédentes de Windows, il est nécessaire de s'appuyer sur un
outil tiers, tel que l'outil CmdLine.exe :http://www.bearcanyon.com/tools /cmdline.zip
--
Gilles LAURENT
MVP Windows Server - Admin Frameworkshttp://glsft.free.fr
Bonjour,
Je n'ai qu'une chose à dire.... MERCI MERCI MERCI c'est exactement ce
que je voulais.
A l'aide de la propriété ExecutablePath de la classe Win32_Process co mme justement indiqué par Jacques. Cette propriété contient le chemin complet de l'exécutable en plus de son nom. Pour extraire uniquement le dossier de démarrage :
Set oRe=New RegExp:oRe.Pattern="(.*)" ' greedy WScript.Echo oRe.Execute(objProcess.ExecutablePath)(0).SubMatches(0)
Pour connaitre la ligne de commande (propriété WMI CommandLine) sur l es versions précédentes de Windows, il est nécessaire de s'appuyer sur un outil tiers, tel que l'outil CmdLine.exe :http://www.bearcanyon.com/tools /cmdline.zip
-- Gilles LAURENT MVP Windows Server - Admin Frameworkshttp://glsft.free.fr
Bonjour,
Je n'ai qu'une chose à dire.... MERCI MERCI MERCI c'est exactement ce que je voulais.