-
Notifications
You must be signed in to change notification settings - Fork 2
/
10_16_2019-show_threads_processes.ps1
80 lines (65 loc) · 2.96 KB
/
10_16_2019-show_threads_processes.ps1
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
73
74
75
76
77
78
79
80
# 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)
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
}
function contarhilos($Threads)
{
$Threads.count
}
# Relación entre servicios y procesos
# Ayuda de servicios con procesos
# Ayuda de procesos WMI con procesos
# Servicios y relación con procesos
# Procesos y ruta de ejecución del proceso