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

commande Powershell services svchost

31 réponses
Avatar
Robby
Bonjour,

Avec Powershell, je peux voir l'etat du services svchost.
gwmi win32_process -computer xxxx -filter "name='svchost.exe'"
Mais comment obtenir le detail, savoir quelles applications qui utilisent le
process svchost ?

Comme par exemple avec Process Explorer qui m'indique clairement que
l'enfant de svchost est Winword, Iexplorer et d'autres programmes.

Merci d'avance,

Robby

10 réponses

1 2 3 4
Avatar
Gilles LAURENT
"Robby" a écrit dans le message de
news:OcB$
| Bonjour,

Bonjour,

| Avec Powershell, je peux voir l'etat du services svchost.
| gwmi win32_process -computer xxxx -filter "name='svchost.exe'"
| Mais comment obtenir le detail, savoir quelles applications qui
| utilisent le process svchost ?

Pour déterminer les services chargés par svchost :
PS D:Test> tasklist /svc /fi "imagename eq svchost.exe"

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Robby
Merci Gilles, mais je voudrais une commande du style:
gwmi win32....
En plus c'est sur un pc distant.
toujours avec powershell
Tu sais comment aussi faire pour arreter et redemarrer un service distant ?

Robby

"Gilles LAURENT" a écrit dans le message de news:

"Robby" a écrit dans le message de
news:OcB$
| Bonjour,

Bonjour,

| Avec Powershell, je peux voir l'etat du services svchost.
| gwmi win32_process -computer xxxx -filter "name='svchost.exe'"
| Mais comment obtenir le detail, savoir quelles applications qui
| utilisent le process svchost ?

Pour déterminer les services chargés par svchost :
PS D:Test> tasklist /svc /fi "imagename eq svchost.exe"

--
Gilles LAURENT
http://glsft.free.fr




Avatar
Robby
En plus, avec cettecommande, je ne vois pas l'application par ex:Winword qui
exploite le process svchost.

"Robby" a écrit dans le message de news:
%
Merci Gilles, mais je voudrais une commande du style:
gwmi win32....
En plus c'est sur un pc distant.
toujours avec powershell
Tu sais comment aussi faire pour arreter et redemarrer un service distant
?

Robby

"Gilles LAURENT" a écrit dans le message de news:

"Robby" a écrit dans le message de
news:OcB$
| Bonjour,

Bonjour,

| Avec Powershell, je peux voir l'etat du services svchost.
| gwmi win32_process -computer xxxx -filter "name='svchost.exe'"
| Mais comment obtenir le detail, savoir quelles applications qui
| utilisent le process svchost ?

Pour déterminer les services chargés par svchost :
PS D:Test> tasklist /svc /fi "imagename eq svchost.exe"

--
Gilles LAURENT
http://glsft.free.fr








Avatar
Gilles LAURENT
"Robby" a écrit dans le message de
news:%
[...]
| Tu sais comment aussi faire pour arreter et redemarrer un service
| distant ?

$srv=[wmi]"computerrootcimv2:Win32_service.name='Alerter'"
$srv.StopService()
$srv.StartService()

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Robby
Merci mais quand la machine est distante ?
Desole, mais Je n'ai pas compris ta procedure.

"Gilles LAURENT" a écrit dans le message de news:
%
"Robby" a écrit dans le message de
news:%
[...]
| Tu sais comment aussi faire pour arreter et redemarrer un service
| distant ?

$srv=[wmi]"computerrootcimv2:Win32_service.name='Alerter'"
$srv.StopService()
$srv.StartService()

--
Gilles LAURENT
http://glsft.free.fr




Avatar
Gilles LAURENT
"Robby" a écrit dans le message de
news:%23$

|| $srv=[wmi]"computerrootcimv2:Win32_service.name='Alerter'"
|| $srv.StopService()
|| $srv.StartService()
| Merci mais quand la machine est distante ?
| Desole, mais Je n'ai pas compris ta procedure.

Il faut remplacer <computer> par le nom de la machine distante !
$srv=[wmi]"<computer>rootcimv2:Win32_service.name='<service>'"

Par exemple pour arrêter et redémarrer le service Alerter sur machine1 :
$srv=[wmi]"machine1rootcimv2:Win32_service.name='Alerter'"
$srv.StopService()
$srv.StartService()

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Gilles LAURENT
"Robby" a écrit dans le message de
news:%23%23RF$
| En plus, avec cettecommande, je ne vois pas l'application par
| ex:Winword qui exploite le process svchost.

svchost.exe est un processus générique permettant de charger des
services disponibles sous forme de module (librairie Win32). Je ne pense
pas que Winword puisse être un processus enfant de svchost ! Ci-dessous
un script PoSH permettant d'afficher les processus enfants de svchost
(direct ou indirect)

+++ Usage
getSvcHostChilds.ps1 <computer>

+++ Exemple
PS D:Test> .getSvcHostChilds.ps1 machine1

--- Coupez ici : getSvcHostChilds.ps1 ---

$odic=@{}
gwmi -computer $args win32_process |
% {
$odic["$($_.ProcessId)"]=`
"$($_.name):"+`
"$($_.ParentProcessId):"+`
"$($_.CreationDate)"
}
gwmi -computer $args win32_process |
% {
$ppid=$_.ParentProcessId; $cpdate=$_.CreationDate
while ($ppid -ne 0) {
if ($odic["$ppid"] -eq $null) {
#Non-existent Parent Process
break
}
($name,$gppid,$ppdate)=$odic["$ppid"].split(":")
if ($cpdate -lt $ppdate) {
#Invalid Parent Process
break
}
if ($name -eq "svchost.exe") {
"$name($ppid) $($_.name)"
}
# recurse
$ppid=$gppid; $cpdate=$ppdate
}
}

--- Coupez ici : getSvcHostChilds.ps1 ---

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Robby
Execuse-moi mais cette commande est du powershell ?
srv ???

"Gilles LAURENT" a écrit dans le message de news:

"Robby" a écrit dans le message de
news:%23$

|| $srv=[wmi]"computerrootcimv2:Win32_service.name='Alerter'"
|| $srv.StopService()
|| $srv.StartService()
| Merci mais quand la machine est distante ?
| Desole, mais Je n'ai pas compris ta procedure.

Il faut remplacer <computer> par le nom de la machine distante !
$srv=[wmi]"<computer>rootcimv2:Win32_service.name='<service>'"

Par exemple pour arrêter et redémarrer le service Alerter sur machine1 :
$srv=[wmi]"machine1rootcimv2:Win32_service.name='Alerter'"
$srv.StopService()
$srv.StartService()

--
Gilles LAURENT
http://glsft.free.fr




Avatar
Robby
Merci Gilles,
Mais est-il possible d'avoir une commande du style gwmi
win32_process -computer xxxxx
Sans passer pas le script ?


"Gilles LAURENT" a écrit dans le message de news:
%
"Robby" a écrit dans le message de
news:%23%23RF$
| En plus, avec cettecommande, je ne vois pas l'application par
| ex:Winword qui exploite le process svchost.

svchost.exe est un processus générique permettant de charger des
services disponibles sous forme de module (librairie Win32). Je ne pense
pas que Winword puisse être un processus enfant de svchost ! Ci-dessous
un script PoSH permettant d'afficher les processus enfants de svchost
(direct ou indirect)

+++ Usage
getSvcHostChilds.ps1 <computer>

+++ Exemple
PS D:Test> .getSvcHostChilds.ps1 machine1

--- Coupez ici : getSvcHostChilds.ps1 ---

$odic=@{}
gwmi -computer $args win32_process |
% {
$odic["$($_.ProcessId)"]=`
"$($_.name):"+`
"$($_.ParentProcessId):"+`
"$($_.CreationDate)"
}
gwmi -computer $args win32_process |
% {
$ppid=$_.ParentProcessId; $cpdate=$_.CreationDate
while ($ppid -ne 0) {
if ($odic["$ppid"] -eq $null) {
#Non-existent Parent Process
break
}
($name,$gppid,$ppdate)=$odic["$ppid"].split(":")
if ($cpdate -lt $ppdate) {
#Invalid Parent Process
break
}
if ($name -eq "svchost.exe") {
"$name($ppid) $($_.name)"
}
# recurse
$ppid=$gppid; $cpdate=$ppdate
}
}

--- Coupez ici : getSvcHostChilds.ps1 ---

--
Gilles LAURENT
http://glsft.free.fr




Avatar
Gilles LAURENT
"Robby" a écrit dans le message de
news:%
|| $srv=[wmi]"computerrootcimv2:Win32_service.name='Alerter'"
|| $srv.StopService()
|| $srv.StartService()
| Execuse-moi mais cette commande est du powershell ?
| srv ???

Excusez-moi mais je vous invite à découvrir Powershell avant de Poster
sur ce Forum. Ci-dessous quelques liens qui pourront vous aider à
débuter avec ce nouveau langage :

Le site Microsoft:
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx

Un site Francais dédié à PoSH
http://www.powershell-scripting.com/

Le blog de Jacques Barathon (MS)
http://janel.spaces.live.com/blog/

--
Gilles LAURENT
http://glsft.free.fr
1 2 3 4