1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# Mostrar threads (Get-Process | select name,Threads).Threads.id # Nombre del proceso que tiene un identificador Get-Process -id 5708 # No funciona porque no se puede enlazar el parámetro Id con processhandle Get-WmiObject -Class Win32_Thread | select handle,processhandle,(Get-Process -id processhandle) # Listar hilos de cada proceso # Relación entre procesos e hilos # Mostrar los hilos de cada proceso utilizando WMI y el cmdlet Get-Process Get-WmiObject Win32_Thread | %{ $_.Handle,$_.ProcessHandle,(Get-Process -Id $_.ProcessHandle).ProcessName } # Mostrar información sobre los hilos de todos los procesos que se están ejecutando (qué proceso ejecuta el hilo) # Relación entre procesos e hilos (otro método) (HILOS -> PROCESOS) Get-WmiObject -Class Win32_Thread | select handle,processhandle, @{Name="Name Process"; Expression = {((Get-Process -Id $_.processhandle).name)}} # Mostrar los hilos del proceso Notepad (PROCESOS -> HILOS) Get-Process -name notepad | select Name,Threads (Get-WmiObject -Class Win32_Thread -Filter "ProcessHandle = $((gps -name notepad).id)") | %{ $_.Handle, $_.ProcessHandle, (Get-Process -Id $_.ProcessHandle).ProcessName } # Mostrar todos los hilos que ejecutan los procesos (PROCESOS -> HILOS) Get-Process | select Name,Threads | %{ $_.Name,($_.Threads).id } # Almacenar en un fichero los nombres de los procesos y el número de hilos que tienen Get-Process | select Name,Threads | %{ $_.Name + "->" + ($_.Threads).id.count | Out-File monitorizar.txt -Append } # Almacenar en un fichero los nombres de los procesos y el número de hilos que tienen (de forma continuada) for(1) { Get-Process | select Name,Threads | %{ $_.Name + "->" + ($_.Threads).id.count | Out-File monitorizar.txt -Append } Start-Sleep -Seconds 10 } # Almacenar en un fichero los nombres de los procesos y el número de hilos que tienen (de forma continuada junto con la fecha) for(1) { "----------------------------------------------" | Out-File monitorizar.txt -Append Get-Date | Out-File monitorizar.txt -Append Get-Process | select Name,Threads | %{ $_.Name + "->" + ($_.Threads).id.count | Out-File monitorizar.txt -Append } Start-Sleep -Seconds 10 } # Almacenar en un fichero los nombres de los procesos y el número de hilos que tienen mediante una función (de forma continuada junto con la fecha) function contarhilos($Threads) { $Threads.count } for(1) { "----------------------------------------------" | Out-File monitorizar.txt -Append Get-Date | Out-File monitorizar.txt -Append Get-Process | select Name,Threads | %{ $_.Name + "->" + (contarhilos($_.Threads)) | Out-File monitorizar.txt -Append } Start-Sleep -Seconds 10 } |