-
Notifications
You must be signed in to change notification settings - Fork 0
/
DiskAndSwap.ps1
32 lines (29 loc) · 1.07 KB
/
DiskAndSwap.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
param(
[string]$percentatge
)
function ObtindrePercentatgeDiskC {
$diskInfo = Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DeviceID -eq 'C:' }
$percentatgeFree = 100 - ($diskInfo.FreeSpace / $diskInfo.Size) * 100
return '{0:N2}' -f $percentatgeFree
}
function ObtindrePercentatgeSwap {
$maxSizeStr = systeminfo | select-string "Virtual Memory: Max Size:"
$maxSizeStr = $maxSizeStr -replace "\.","" -replace ",",""
$maxSize = [int][regex]::Matches($maxSizeStr, '[\d.]+').Value
$inUseStr = systeminfo | select-string "Virtual Memory: In Use:"
$inUseStr = $inUseStr -replace "\.","" -replace ",",""
$inUse = [int][regex]::Matches($inUseStr, '[\d.]+').Value
$swapUsage = ($inUse / $maxSize) * 100
return '{0:N2}' -f $swapUsage
}
if ($percentatge -eq 'disk') {
$percentatgeDiskC = ObtindrePercentatgeDiskC
Write-Host "$percentatgeDiskC"
}
elseif ($percentatge -eq 'swap') {
$percentatgeSwap = ObtindrePercentatgeSwap
Write-Host "$percentatgeSwap"
}
else {
Write-Host "Paràmetre no vàlid. Utilitza '-percentatge disk' / '-percentatge swap'."
}