Monitor Microsoft Storage Spaces Direct / Disk Status

Hi,
I’ve made a small change to your code - on some windows boxes there are blanks within the serial field. This removes those artifactes:

Other than that - probe is nice and fits nicely into my just published smart probing script :slight_smile:

Best regards
Andreas

$pdisks = Get-PhysicalDisk | Where { $_.FriendlyName -ne “HP LOGICAL VOLUME” } | Select FriendlyName, SerialNumber, OperationalStatus, HealthStatus, Usage, Size,

AllocatedSize, VirtualDiskFootprint
foreach ($pdisk in $pdisks) {
if ($pdisk.OperationalStatus -eq “OK” -and $pdisk.HealthStatus -eq “Healthy”) {
# All good
$status = “0”
#Remove Whitespaces
$serial=$pdisk.SerialNumber.replace(’ ‘,’’)
$diskname = $pdisk.Friendlyname -replace ‘\s’,’’
$diskname = $pdisk.Friendlyname -replace ’ ‘,’’
$statusText = “OK - " + $diskname + " is in good state. OperationalStatus:” + $pdisk.OperationalStatus + " | HealthStatus:" + $pdisk.HealthStatus + " | Usage: " +

$pdisk.Usage + " | Size:" + $pdisk.Size + " | SN:" + $serial
} else {
$status = “1”
$statusText = “Warning - " + $diskname + " is in unusual state. OperationalStatus:” + $pdisk.OperationalStatus + " | HealthStatus:" + $pdisk.HealthStatus + " |

Usage: " + $pdisk.Usage + " | Size:" + $pdisk.Size + " | SN:" + $serial
}
$perfdataVirtualDisk = “size=” + $pdisk.Size + “|allocatedsize=” + $pdisk.AllocatedSize + “|virtualdiskfootprint=” + $pdisk.VirtualDiskFootprint
$stringToPost = $status + " S2D_PhysicalDisk_" + $serial + " " + $perfdataVirtualDisk + " " + $statusText
Write-Host $stringToPost
}