Hi forum
i wrote a simple local check to keep track of all the disk quotas of all our 900 file servers since the Agent (at least 1.5, havent tried 1.6 yet) cannot handle it out of the box.
The check reads out all set quotas, translates them human readable (with thresholds set to 85/95%) and even makes pretty graphs too
Requires the cmdlet Get-FsrmQuota which is automatically installed with File Server Resource Manager
$OK=0
$Warn=1
$Crit=2
$Unk=3
$Quotas=@(Get-FsrmQuota | Select-Object Path, Size, Usage)
$Output = ββ
$Output1 = ββ
echo <
<<local
>>
>
foreach ($Quota in $Quotas) {
$Size=($Quota.Size / 1gb)
$Usage=[math]::Round($Quota.Usage / 1gb,1)
$Path=($Quota.Path)
$Percent=($Usage / $Size * 100)
$warnvalue=85
$critvalue=95
if ($Percent -lt $warnvalue)
{$Output = $OK.ToString() + " Disk_Quota_" +$Path + " " + βUsage=β + $Percent + β;β + $warnvalue + β;β + $critvalue + " Size=" + $Size + " GB, Usage=" + $Usage + " GB " + $Percent + β%β}
elseif ($Percent -ge $warnvalue -and $Percent -lt $critvalue)
{$Output = $Warn.ToString() + " Disk_Quota_" +$Path + " " + βUsage=β + $Percent + β;β + $warnvalue + β;β + $critvalue + " Size=" + $Size + " GB, Usage=" + $Usage + " GB " + $Percent + β%β}
elseif ($Percent -ge $critvalue)
{$Output = $Crit.ToString() + " Disk_Quota_" +$Path + " " + βUsage=β + $Percent + β;β + $warnvalue + β;β + $critvalue + " Size=" + $Size + " GB, Usage=" + $Usage + " GB " + $Percent + β%β}
$Output1 = $Output1 + β|β + $Output
write-host $Output
}