
Questo script utilizza Get-Process per ottenere un elenco di tutti i processi in esecuzione sul sistema.
Codice: Seleziona tutto
# Ottieni un elenco di tutti i processi in esecuzione
$processes = Get-Process
# Visualizza il nome e l'ID di ogni processo
foreach ($process in $processes) {
Write-Output "Nome processo: $($process.Name) - ID processo: $($process.Id)"
}

Questo script monitora l'utilizzo della CPU e della memoria per ogni processo in esecuzione.
Codice: Seleziona tutto
# Ottieni informazioni sui processi in esecuzione
$processes = Get-Process | Select-Object Name, Id, CPU, WorkingSet
# Visualizza l'utilizzo della CPU e della memoria per ogni processo
foreach ($process in $processes) {
$cpuUsage = $process.CPU
$memoryUsage = $process.WorkingSet / 1MB
Write-Output "Nome processo: $($process.Name) - ID processo: $($process.Id) - Utilizzo CPU: $cpuUsage - Utilizzo memoria: $([math]::round($memoryUsage, 2)) MB"
}

Questo script filtra i processi in esecuzione per identificare quelli con il maggiore utilizzo della CPU.
Codice: Seleziona tutto
# Ottieni informazioni sui processi in esecuzione
$processes = Get-Process | Sort-Object CPU -Descending
# Filtra i processi con utilizzo CPU maggiore di una soglia specificata
$threshold = 10
$highCpuProcesses = $processes | Where-Object { $_.CPU -gt $threshold }
# Visualizza i processi con utilizzo CPU elevato
foreach ($process in $highCpuProcesses) {
Write-Output "Nome processo: $($process.Name) - ID processo: $($process.Id) - Utilizzo CPU: $($process.CPU)"
}

Questo script filtra i processi in esecuzione per identificare quelli con il maggiore utilizzo della memoria.
Codice: Seleziona tutto
# Ottieni informazioni sui processi in esecuzione
$processes = Get-Process | Sort-Object WorkingSet -Descending
# Filtra i processi con utilizzo memoria maggiore di una soglia specificata
$threshold = 100MB
$highMemoryProcesses = $processes | Where-Object { $_.WorkingSet -gt $threshold }
# Visualizza i processi con utilizzo memoria elevato
foreach ($process in $highMemoryProcesses) {
$memoryUsage = $process.WorkingSet / 1MB
Write-Output "Nome processo: $($process.Name) - ID processo: $($process.Id) - Utilizzo memoria: $([math]::round($memoryUsage, 2)) MB"
}

Questo script esegue il monitoraggio continuo dei processi in esecuzione e registra i risultati in un file di log.
Codice: Seleziona tutto
# Definisci il file di log
$logFile = "C:\Logs\ProcessMonitoring.log"
# Esegui il monitoraggio continuo
while ($true) {
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
# Ottieni informazioni sui processi in esecuzione
$processes = Get-Process | Select-Object Name, Id, CPU, WorkingSet
# Registra le informazioni sui processi nel file di log
foreach ($process in $processes) {
$cpuUsage = $process.CPU
$memoryUsage = $process.WorkingSet / 1MB
Add-Content -Path $logFile -Value "$timestamp - Nome processo: $($process.Name) - ID processo: $($process.Id) - Utilizzo CPU: $cpuUsage - Utilizzo memoria: $([math]::round($memoryUsage, 2)) MB"
}
Start-Sleep -Seconds 60
}