Retrieving rules and monitors targeted to a particular class (target)

This question came up several times in various forums so I wanted to post a sample script that shows how you can retrieve the list of both rules and monitors targeted to a particular class (target):

$mc = get-monitoringclass | where {$_.DisplayName -eq 'Windows Server 2003 Logical Disk'}

$rules = $mc.GetMonitoringRules()

$monitoringCrit = [System.String]::Format("TargetMonitoringClassId='{0}'",$mc.Id)

$monitors = Get-Monitor -Criteria:$monitoringCrit

Write-Host "Rules"

Write-Host ""

$rules | Sort-Object DisplayName | ft DisplayName,Name

Write-Host ""

Write-Host ""

Write-Host "Monitors"

Write-Host ""

$monitors | Sort-Object DisplayName | ft DisplayName,Name