Sur une base de données, je peux obtenir une liste de tous les processus en cours d'exécution et la commande sql qui les a lancés.
Je voudrais faire une chose similaire sur une boîte Windows.
Je peux obtenir la liste des processus, mais pas la ligne de commande qui les a lancés.
Ma question est: étant donné un PID sous Windows - comment trouver l'instruction de ligne de commande qui l'a exécuté?
Hypothèses:
- Windows 7 et serveurs équivalents
windows
windows-command-prompt
pid
Oeil de faucon
la source
la source
| FL
à la fin de la commande. Cela étend toute la ligne de commande pour moi. Pourrait aussi vouloir jouer avec| Select -ExpandProperty CommandLine
Vous pouvez utiliser le sous-système WMI à l'aide de WMIC.EXE pour accéder à ces informations. En supposant un PID de 600:
Vous pouvez également rechercher un nom ou une autre caractéristique du processus. Utilisez cette commande pour répertorier tous les attributs:
la source
process
alias au lieu depath Win32_Process
; par exemple,wmic.exe process get
Les autres réponses sont certainement de bonnes options qui vous serviront bien dans un système automatisé en raison de leur nature en ligne de commande (et je vois sur l'étiquette que c'est ce que vous vouliez). Bien sûr, certaines personnes pourraient vouloir explorer ce type d'informations avec une interface graphique, voici donc une alternative dans ce sens.
Process Explorer est un outil Sysinternals géré par Microsoft. Il peut afficher la ligne de commande du processus dans la boîte de dialogue des propriétés du processus ainsi que le parent qui l'a lancé, bien que le nom de ce processus ne soit plus disponible. Voici la boîte de dialogue des propriétés du processus:
Si vous souhaitez une piste d'audit plus détaillée du moment où un processus a été lancé et dans quelles conditions, vous pouvez vous tourner vers un autre outil Sysinternals appelé Process Monitor. Ici, vous pouvez filtrer les événements «Processus démarré», en savoir plus sur l'environnement dans lequel le processus a été lancé et voir quels autres événements se sont produits à cette époque. C'est un programme assez puissant. Voici la boîte de dialogue des propriétés de l'événement:
la source
Command Line
colonne a été ajoutée si vous passez la souris sur cette colonne.Pour compléter la réponse PowerShell utile de Ryan Ries avec une alternative plus courte via le
-Filter
paramètre qui utiliseGet-CimInstance
également à la place de l' applet de commande obsolète depuis la v3Get-WmiObject
.Le
-Filter
paramètre vous permet essentiellement de passer laWHERE
clause d'une instruction WQL au lieu de passer une instruction de requête complète via-Query
.la source