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
Robby
Voici la nouvelle config :
param ($computer = ".")
$proc = gwmi win32_process -computer $computer
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid; $date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
Maiis toujours rien, lorsque je créé à partir du bloc notes mon file,
faut-il enregister d'une facon ?
Robby

"Jacques Barathon [MS]" a écrit dans le
message de news: %
"Robby" wrote in message
news:
Bonjour et merci pour ton aide,
Voila j'ai rajoute les commandes param et mis sur une ligne -eq, voici
mon fichier test.ps1
param ($computer = ".")
$proc = gwmi win32_process -computer $computer
$proc=gwmi win32_process


Le deuxième "$proc = ..." est en trop. Il fausse les résultats si tu
interroges un ordinateur distant car il remplace la variable $proc
initiale par une requête faite exclusivement sur l'ordinateur local.

gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid $date=$_.creationdate;


Dans la ligne ci-dessus il manque un point-virgule avant $date pour
séparer les deux commandes "$id=$_.processid" et "$date=$_.creationdate".
Ou alors tu vas à la ligne. Au passage, le point-virgule en fin de ligne
est inutile.

$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
donc je lance test.ps1 dans la console mais rien ne se passe il revient
au prompt.


Refais un essai avec les corrections ci-dessus et dis-nous ce que ça
donne.

Jacques



Avatar
Jacques Barathon [MS]
"Robby" wrote in message
news:
Voici la nouvelle config :
param ($computer = ".")
$proc = gwmi win32_process -computer $computer
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid; $date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
Maiis toujours rien, lorsque je créé à partir du bloc notes mon file,
faut-il enregister d'une facon ?


Je crèe tous mes scripts avec le bloc-notes sans aucun souci. Au pire, tu
peux vérifier le contenu du fichier depuis la console PowerShell:

get-content test.ps1

Sinon, quand tu dis "rien", as-tu un message d'erreur ou vraiment rien?

Je te signale au passage une différence importante de PowerShell avec
cmd.exe: le répertoire courant n'est pas automatiquement pris en compte dans
la recherche d'exécutables. Ca veut dire que si tu as enregistré test.ps1
dans le répertoire courant et que ce répertoire n'est pas dans la variable
d'environnement PATH, test.ps1 ne sera pas trouvé. Tu auras un message
disant que test.ps1 n'est pas une commande connue.

Pour exécuter le script, il faut donc soit ajouter le répertoire courant à
la variable PATH soit, recommandé, préciser le chemin où est le fichier:

.test.ps1

Jacques

Avatar
Robby
Non , je n'ai pas de msg d'erreur, il revient sur le prompt.
j'ai passé la commande get-content test.ps1
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
$proc=gwmi win32_process
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid; $date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
et il me renvoi le contenu du fichier.
mais est ce normal que le fichier à l'icone du bloc notes ?
le type est pourtant affiché Fichier PS1.

"Jacques Barathon [MS]" a écrit dans le
message de news:
"Robby" wrote in message
news:
Voici la nouvelle config :
param ($computer = ".")
$proc = gwmi win32_process -computer $computer
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid; $date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
Maiis toujours rien, lorsque je créé à partir du bloc notes mon file,
faut-il enregister d'une facon ?


Je crèe tous mes scripts avec le bloc-notes sans aucun souci. Au pire, tu
peux vérifier le contenu du fichier depuis la console PowerShell:

get-content test.ps1

Sinon, quand tu dis "rien", as-tu un message d'erreur ou vraiment rien?

Je te signale au passage une différence importante de PowerShell avec
cmd.exe: le répertoire courant n'est pas automatiquement pris en compte
dans la recherche d'exécutables. Ca veut dire que si tu as enregistré
test.ps1 dans le répertoire courant et que ce répertoire n'est pas dans la
variable d'environnement PATH, test.ps1 ne sera pas trouvé. Tu auras un
message disant que test.ps1 n'est pas une commande connue.

Pour exécuter le script, il faut donc soit ajouter le répertoire courant à
la variable PATH soit, recommandé, préciser le chemin où est le fichier:

.test.ps1

Jacques



Avatar
Jacques Barathon [MS]
"Robby" wrote in message
news:u%23%
Non , je n'ai pas de msg d'erreur, il revient sur le prompt.
j'ai passé la commande get-content test.ps1
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
$proc=gwmi win32_process
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid; $date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
et il me renvoi le contenu du fichier.
mais est ce normal que le fichier à l'icone du bloc notes ?
le type est pourtant affiché Fichier PS1.


Oui, l'association par défaut pour les fichiers de type PS1 est faite comme
fichiers texte, ce qui permet d'éditer les scripts par un simple double-clic
et prévient le risque d'exécuter un script involontairement depuis
l'Explorateur.

Pour en revenir au problème de ton script, as-tu essayé de taper la commande
suivante:

.test.ps1

Si le résultat est identique, as-tu essayé de taper les commandes
directement depuis la console? Si oui, est-ce que là ça marche?

Jacques

Avatar
Robby
ok j'ai passé la cmde , j'ai l'erreur:
Le terme « .test1.ps1 » n'est pas reconnu en tant qu'applet de commande,
fonction, programme exécutable ou fichie
script. Vérifiez le terme et réessayez.
Au niveau de ligne : 1 Caractère : 11
+ .test1.ps1 <<<<


"Jacques Barathon [MS]" a écrit dans le
message de news: eK$
"Robby" wrote in message
news:u%23%
Non , je n'ai pas de msg d'erreur, il revient sur le prompt.
j'ai passé la commande get-content test.ps1
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
$proc=gwmi win32_process
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid; $date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
et il me renvoi le contenu du fichier.
mais est ce normal que le fichier à l'icone du bloc notes ?
le type est pourtant affiché Fichier PS1.


Oui, l'association par défaut pour les fichiers de type PS1 est faite
comme fichiers texte, ce qui permet d'éditer les scripts par un simple
double-clic et prévient le risque d'exécuter un script involontairement
depuis l'Explorateur.

Pour en revenir au problème de ton script, as-tu essayé de taper la
commande suivante:

.test.ps1

Si le résultat est identique, as-tu essayé de taper les commandes
directement depuis la console? Si oui, est-ce que là ça marche?

Jacques



Avatar
Jacques Barathon [MS]
"Robby" wrote in message
news:%
ok j'ai passé la cmde , j'ai l'erreur:
Le terme « .test1.ps1 » n'est pas reconnu en tant qu'applet de commande,
fonction, programme exécutable ou fichie
script. Vérifiez le terme et réessayez.
Au niveau de ligne : 1 Caractère : 11
+ .test1.ps1 <<<<


Tu as tapé ".test1.ps1" alors que dans ta réponse précédente tu avais
appelé ton script test.ps1, normal?

Jacques

Avatar
Robby
oui c'est normal, j'ai 2 scripts, j'ai aussi testé avec .test.PS1
mais j'ai la meme erreur.
Robby
"Jacques Barathon [MS]" a écrit dans le
message de news:
"Robby" wrote in message
news:%
ok j'ai passé la cmde , j'ai l'erreur:
Le terme « .test1.ps1 » n'est pas reconnu en tant qu'applet de commande,
fonction, programme exécutable ou fichie
script. Vérifiez le terme et réessayez.
Au niveau de ligne : 1 Caractère : 11
+ .test1.ps1 <<<<


Tu as tapé ".test1.ps1" alors que dans ta réponse précédente tu avais
appelé ton script test.ps1, normal?

Jacques




Avatar
Robby
Pour repondre à la question 2,
oui les commandes marchent bien quand je les tape à la console.
$proc=gwmi win32_process
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid
$date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid

Robby

"Jacques Barathon [MS]" a écrit dans le
message de news: eK$
"Robby" wrote in message
news:u%23%
Non , je n'ai pas de msg d'erreur, il revient sur le prompt.
j'ai passé la commande get-content test.ps1
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
$proc=gwmi win32_process
gwmi win32_process -computer . -filter "name='svchost.exe'" |
%{$id=$_.processid; $date=$_.creationdate
$proc | ?{$_.parentprocessid -eq $id -and $_.creationdate -gt $date}} |
group parentprocessid
PS C:Documents and Settingstoto> get-content "C:Documents and
SettingstotoMes documentstest1
.ps1"
et il me renvoi le contenu du fichier.
mais est ce normal que le fichier à l'icone du bloc notes ?
le type est pourtant affiché Fichier PS1.


Oui, l'association par défaut pour les fichiers de type PS1 est faite
comme fichiers texte, ce qui permet d'éditer les scripts par un simple
double-clic et prévient le risque d'exécuter un script involontairement
depuis l'Explorateur.

Pour en revenir au problème de ton script, as-tu essayé de taper la
commande suivante:

.test.ps1

Si le résultat est identique, as-tu essayé de taper les commandes
directement depuis la console? Si oui, est-ce que là ça marche?

Jacques



Avatar
Jacques Barathon [MS]
"Robby" wrote in message
news:
oui c'est normal, j'ai 2 scripts, j'ai aussi testé avec .test.PS1
mais j'ai la meme erreur.


Etonnant. Et tu es bien dans le répertoire où tu as enregistré ton script?
Un "dir test.ps1" retourne bien le fichier en question?

Jacques

Avatar
Robby
Donc j'ai copié mon fichier dans le repertoire maintenant quand je fais dir
test.ps1 il trouve le fichier.
mais que j'execute le fichier, j'ai une erreur:cmde pas reconnu comme
Applet..

"Jacques Barathon [MS]" a écrit dans le
message de news:
"Robby" wrote in message
news:
oui c'est normal, j'ai 2 scripts, j'ai aussi testé avec .test.PS1
mais j'ai la meme erreur.


Etonnant. Et tu es bien dans le répertoire où tu as enregistré ton script?
Un "dir test.ps1" retourne bien le fichier en question?

Jacques



1 2 3 4