
Questo script monitora l'utilizzo della CPU e visualizza l'utilizzo percentuale della CPU per ogni processore.
Codice: Seleziona tutto
# Ottieni le informazioni sull'utilizzo della CPU
$cpuUsage = Get-CimInstance -ClassName Win32_Processor | Select-Object Name, LoadPercentage
# Visualizza l'utilizzo della CPU
foreach ($cpu in $cpuUsage) {
Write-Output "Processore: $($cpu.Name) - Utilizzo: $($cpu.LoadPercentage)%"
}

Questo script monitora l'utilizzo della memoria e visualizza la quantità di memoria utilizzata e disponibile.
Codice: Seleziona tutto
# Ottieni le informazioni sull'utilizzo della memoria
$memoryUsage = Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory
# Calcola la memoria utilizzata
$totalMemory = $memoryUsage.TotalVisibleMemorySize / 1MB
$freeMemory = $memoryUsage.FreePhysicalMemory / 1MB
$usedMemory = $totalMemory - $freeMemory
# Visualizza l'utilizzo della memoria
Write-Output "Memoria totale: $([math]::round($totalMemory, 2)) MB"
Write-Output "Memoria utilizzata: $([math]::round($usedMemory, 2)) MB"
Write-Output "Memoria libera: $([math]::round($freeMemory, 2)) MB"

Questo script monitora l'utilizzo del disco e visualizza la capacità totale, lo spazio utilizzato e lo spazio libero per ogni unità disco.
Codice: Seleziona tutto
# Ottieni le informazioni sull'utilizzo del disco
$diskUsage = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DeviceID, Size, FreeSpace
# Visualizza l'utilizzo del disco per ogni unità
foreach ($disk in $diskUsage) {
$totalSize = $disk.Size / 1GB
$freeSpace = $disk.FreeSpace / 1GB
$usedSpace = $totalSize - $freeSpace
Write-Output "Unità: $($disk.DeviceID)"
Write-Output "Capacità totale: $([math]::round($totalSize, 2)) GB"
Write-Output "Spazio utilizzato: $([math]::round($usedSpace, 2)) GB"
Write-Output "Spazio libero: $([math]::round($freeSpace, 2)) GB"
Write-Output "----"
}

Questo script monitora l'utilizzo della rete e visualizza le statistiche di invio e ricezione dei dati per ogni scheda di rete.
Codice: Seleziona tutto
# Ottieni le informazioni sull'utilizzo della rete
$networkUsage = Get-NetAdapterStatistics
# Visualizza le statistiche di rete per ogni scheda
foreach ($adapter in $networkUsage) {
Write-Output "Scheda di rete: $($adapter.Name)"
Write-Output "Bytes inviati: $($adapter.OutboundBytesReceived)"
Write-Output "Bytes ricevuti: $($adapter.InboundBytesReceived)"
Write-Output "----"
}

Questo script esegue il monitoraggio continuo delle risorse di sistema e registra i risultati in un file di log.
Codice: Seleziona tutto
# Definisci il file di log
$logFile = "C:\Logs\SystemResourceMonitoring.log"
# Esegui il monitoraggio continuo
while ($true) {
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
# Monitoraggio CPU
$cpuUsage = Get-CimInstance -ClassName Win32_Processor | Select-Object LoadPercentage
$cpuLoad = $cpuUsage.LoadPercentage
# Monitoraggio Memoria
$memoryUsage = Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory
$totalMemory = $memoryUsage.TotalVisibleMemorySize / 1MB
$freeMemory = $memoryUsage.FreePhysicalMemory / 1MB
$usedMemory = $totalMemory - $freeMemory
# Monitoraggio Disco
$diskUsage = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DeviceID, Size, FreeSpace
$diskInfo = ""
foreach ($disk in $diskUsage) {
$totalSize = $disk.Size / 1GB
$freeSpace = $disk.FreeSpace / 1GB
$usedSpace = $totalSize - $freeSpace
$diskInfo += "Unità: $($disk.DeviceID), Capacità totale: $([math]::round($totalSize, 2)) GB, Spazio utilizzato: $([math]::round($usedSpace, 2)) GB, Spazio libero: $([math]::round($freeSpace, 2)) GB`n"
}
# Scrivi i risultati nel file di log
Add-Content -Path $logFile -Value "$timestamp - CPU: $cpuLoad%, Memoria totale: $([math]::round($totalMemory, 2)) MB, Memoria utilizzata: $([math]::round($usedMemory, 2)) MB, Memoria libera: $([math]::round($freeMemory, 2)) MB`n$diskInfo"
Start-Sleep -Seconds 60
}