Quick Post: Delete SCSM Work Items created before specific date with PowerShell

Posted on Oct 4, 2013

Based on a post by Pete Zerger on systemcentercentral.com I created a PowerShell command which deletes all Work Items of a specific class in your CMDB when created before a specific date.

    #Set date
    $BeforeDate = Get-Date("31/1/2013").ToString("MM/dd/yyy HH:mm:ss")
    #List incidents which were created before $BeforeDate
    Get-SCSMClassInstance -Class (Get-SCSMClass -Name System.WorkItem.Incident) | Where {($_.CreatedDate -lt $BeforeDate)} | sort-object CreatedDate | ft -Property Id,Title,CreatedDate
    #Remove instances
    Get-SCSMClassInstance -Class (Get-SCSMClass -Name System.WorkItem.Incident) | Where {($_.CreatedDate -lt $BeforeDate)} | Remove-SCSMClassInstance

The commands could probably be optimized by using the -Filter parameter instead of the Where clause.