forked from jesusninoc/PowerShell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
EjerciciosFuncionesProcesos2.ps1
57 lines (44 loc) · 1.49 KB
/
EjerciciosFuncionesProcesos2.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
#Función para mostrar todos los procesos
function Procesos
{
Get-Process
}
Procesos
#Función para mostrar los X primeros procesos
function ProcesosPrimeros($numero)
{
Get-Process | Select-Object -First $numero
}
ProcesosPrimeros 5
#Función para mostrar los X últimos procesos
function ProcesosUltimos($numero)
{
Get-Process | Select-Object -Last $numero
}
ProcesosUltimos 5
#Servicio-Proceso
Get-WmiObject -Class Win32_Service | Select-Object Name,ProcessID
#Función para mostrar los X procesos cuyo consumo (el parámetro que quieras utilizar) sea mayor que el valor que quieras monitorizar
function ProcesosConsumo([String]$parametro,[Int]$valor,[Int]$numerovalores)
{
$parametro
$valor
$numerovalores
Get-Process | Select-Object -First $numerovalores | Where-Object $parametro -GT $valor
}
ProcesosConsumo CPU 30 5
#Mostrar los procesos que se están ejecutando en relación con los servicios
(Get-WmiObject -Class Win32_Service | Where-Object State -EQ ‘Running’) | %{
Write-Host $_.Name,$_.ProcessId,$_.State,(Get-Process -Id $_.ProcessId).Name
}
#Identificar servicios mediante identificadores de procesos
Get-WmiObject -Class Win32_Service | Select-Object Name,ProcessID
#Listar los hilos de un proceso
$name = ‘notepad’
$contador=0
foreach($procesoid in (Get-Process -Name $name).Id)
{
$contador+=((Get-WmiObject -Class Win32_Thread).where{$_.ProcessHandle -match $procesoid}).count
Write-Host ‘PID:’ $procesoid ‘del proceso’ $name ‘tiene’ $contador ‘hilos’
$contador=0
}