Question
lien Get-WmiObject Win32_Process et query process
- cyril2509
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 5 mois 3 semaines - il y a 5 mois 3 semaines #34185
par cyril2509
lien Get-WmiObject Win32_Process et query process a été créé par cyril2509
Bonjour je souhaite récuperer des infos données par Query process et ensuite grace au PId recuperer des details fournis par Get-WmiObject -ComputerName serveur01 Win32_Process
exemple:query process monAppli.exe /server:serveur01
UTILISATEUR NOM SESSION ID PID IMAGE
user01 rdp-tcp#25 4 8076 monAppli.exe
user02 rdp-tcp#25 5 8920 monAppli.exe
puis
Get-WmiObject -ComputerName serveur01 Win32_Process -Filter "name='monAppli.exe'" | Select-Object name, ProcessId, ExecutablePath
name ProcessId ExecutablePath
monAppli.exe 8076 E:\CLIENTS\dep77\monAppli.exe
monAppli.exe 8920 E:\CLIENTS\dep92\monAppli.exe
mon but est de pouvoir avoir au final avoir qq chose comme ca grâce a une espece de jointure sur le PID = ProcessID
UTILISATEUR NOM SESSION PID IMAGE ExecutablePath
user01 rdp-tcp#25 8076 monAppli.exe E:\CLIENTS\dep77\monAppli.exe
user02 rdp-tcp#25 8920 monAppli.exe E:\CLIENTS\dep92\monAppli.exe
j'ai tenté qq chose comme
$res=Get-WmiObject -ComputerName serveur01 Win32_Process -Filter "name='monAppli.exe'" | Select-Object name, ProcessId, ExecutablePath
puis
$res.ProcessId | foreach-object -Process {query process $_ /server:serveur01 }
mais ca ne fonctionne pas
qq un aurait une idée?
Merci
exemple:query process monAppli.exe /server:serveur01
UTILISATEUR NOM SESSION ID PID IMAGE
user01 rdp-tcp#25 4 8076 monAppli.exe
user02 rdp-tcp#25 5 8920 monAppli.exe
puis
Get-WmiObject -ComputerName serveur01 Win32_Process -Filter "name='monAppli.exe'" | Select-Object name, ProcessId, ExecutablePath
name ProcessId ExecutablePath
monAppli.exe 8076 E:\CLIENTS\dep77\monAppli.exe
monAppli.exe 8920 E:\CLIENTS\dep92\monAppli.exe
mon but est de pouvoir avoir au final avoir qq chose comme ca grâce a une espece de jointure sur le PID = ProcessID
UTILISATEUR NOM SESSION PID IMAGE ExecutablePath
user01 rdp-tcp#25 8076 monAppli.exe E:\CLIENTS\dep77\monAppli.exe
user02 rdp-tcp#25 8920 monAppli.exe E:\CLIENTS\dep92\monAppli.exe
j'ai tenté qq chose comme
$res=Get-WmiObject -ComputerName serveur01 Win32_Process -Filter "name='monAppli.exe'" | Select-Object name, ProcessId, ExecutablePath
puis
$res.ProcessId | foreach-object -Process {query process $_ /server:serveur01 }
mais ca ne fonctionne pas
qq un aurait une idée?
Merci
Dernière édition: il y a 5 mois 3 semaines par cyril2509.
Connexion ou Créer un compte pour participer à la conversation.
- Dead
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 2
il y a 4 mois 1 semaine - il y a 4 mois 1 semaine #34312
par Dead
Réponse de Dead sur le sujet lien Get-WmiObject Win32_Process et query process
Bonjour cyril2509,
Cela pourrait faire l'affaire je pense:
Cela pourrait faire l'affaire je pense:
# Récupérer les informations de query process
$queryProcessOutput = query process monAppli.exe /server:serveur01
# Parser la sortie de query process pour extraire les informations nécessaires
$queryProcessInfo = $queryProcessOutput | Select-String -Pattern "monAppli.exe" | ForEach-Object {
$parts = $_ -split '\s+'
[PSCustomObject]@{
Utilisateur = $parts[0]
NomSession = $parts[1]
ID = $parts[2]
PID = $parts[3]
Image = $parts[4]
}
}
# Récupérer les informations de Get-WmiObject
$wmiProcessInfo = Get-WmiObject -ComputerName serveur01 Win32_Process -Filter "name='monAppli.exe'" | Select-Object name, ProcessId, ExecutablePath
# Créer un tableau de hachage pour une recherche rapide par PID
$wmiProcessHashTable = @{}
foreach ($process in $wmiProcessInfo) {
$wmiProcessHashTable[$process.ProcessId] = $process
}
# Faire la jointure et afficher les résultats
$queryProcessInfo | ForEach-Object {
$pid = $_.PID
if ($wmiProcessHashTable.ContainsKey($pid)) {
$wmiProcess = $wmiProcessHashTable[$pid]
[PSCustomObject]@{
Utilisateur = $_.Utilisateur
NomSession = $_.NomSession
PID = $_.PID
Image = $_.Image
ExecutablePath = $wmiProcess.ExecutablePath
}
}
} | Format-Table -AutoSize
Dernière édition: il y a 4 mois 1 semaine par Arnaud Petitjean. Raison: Ajout de la balise [code]
Connexion ou Créer un compte pour participer à la conversation.
- cyril2509
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 4 mois 53 minutes #34392
par cyril2509
Réponse de cyril2509 sur le sujet lien Get-WmiObject Win32_Process et query process
j'arrive a récupérer le chemin en plus des autres infos mais j'arrive pas a formater la mise en page en sortie
exemple
Get-Process notepa* -IncludeUserName | foreach-object { $r=get-process -id $_.id -fileversioninfo ;write-host $_.Id $_.username $_.processname $r.filename }
12608 I7N\cyril notepad C:\Windows\System32\notepad.exe
12560 I7N\cyril notepad++ C:\Program Files\Notepad++\notepad++.exe
exemple
Get-Process notepa* -IncludeUserName | foreach-object { $r=get-process -id $_.id -fileversioninfo ;write-host $_.Id $_.username $_.processname $r.filename }
12608 I7N\cyril notepad C:\Windows\System32\notepad.exe
12560 I7N\cyril notepad++ C:\Program Files\Notepad++\notepad++.exe
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 3 mois 4 semaines #34393
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet lien Get-WmiObject Win32_Process et query process
Bonjour Cyril,
Il te suffit de demander les propriétés de ton objet, puis de les afficher sous forme de liste (Format-List) ou sous forme de tableau (Format-Table), comme dans l'exemple ci-après :
Chez moi la propriété FileVersion est vide.
Il te suffit de demander les propriétés de ton objet, puis de les afficher sous forme de liste (Format-List) ou sous forme de tableau (Format-Table), comme dans l'exemple ci-après :
PS C:\Users\arnaud.petitjean> Get-Process notepa* -IncludeUserName | Select-Object id, FileVersion,username,processname | Format-Table
Id FileVersion UserName ProcessName
-- ----------- -------- -----------
4832 POWERSHELL\administrator Notepad
6256 POWERSHELL\administrator Notepad
Chez moi la propriété FileVersion est vide.
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- cyril2509
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 3 mois 4 semaines #34396
par cyril2509
Réponse de cyril2509 sur le sujet lien Get-WmiObject Win32_Process et query process
bonjour
le pb c'est que je récupère une info dans la command combinée
Get-Process notepa* -IncludeUserName | foreach-object { $r=get-process -id $_.id -fileversioninfo ;write-host $_.Id $_.username $_.processname $r.filename }
12608 I7N\cyril notepad C:\Windows\System32\notepad.exe
12560 I7N\cyril notepad++ C:\Program Files\Notepad++\notepad++.exe
d'où mon pb, je ne sais pas récupérer correctement les infos pour pouvoir les mettre en bonne présentation
le pb c'est que je récupère une info dans la command combinée
Get-Process notepa* -IncludeUserName | foreach-object { $r=get-process -id $_.id -fileversioninfo ;write-host $_.Id $_.username $_.processname $r.filename }
12608 I7N\cyril notepad C:\Windows\System32\notepad.exe
12560 I7N\cyril notepad++ C:\Program Files\Notepad++\notepad++.exe
d'où mon pb, je ne sais pas récupérer correctement les infos pour pouvoir les mettre en bonne présentation
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 3 mois 4 semaines #34397
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet lien Get-WmiObject Win32_Process et query process
Salut,
Je commence à comprendre ce que tu cherches à faire...
Est-ce que cela fonctionnerait pour toi :
Je commence à comprendre ce que tu cherches à faire...
Est-ce que cela fonctionnerait pour toi :
PS > Get-Process notepa* -IncludeUserName | Select-Object id, path,username,processname
Id Path UserName ProcessName
-- ---- -------- -----------
1316 C:\Program Files\WindowsApps\Microsoft.WindowsNotepad_11.2402.22.0_x64__8wekyb3d8bbwe\Notepad\Notepad.exe POWERSHELL\arnaud.petitjean Notepad
4832 POWERSHELL\administrator Notepad
6256 POWERSHELL\administrator Notepad
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.107 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- lien Get-WmiObject Win32_Process et query process