PowerShell/SCSM - Get Manual Activities Completed per Assigned user in the last month
I wanted to expend a bit on the previous post which retrieved all the Manual Activities completed in the last month.
I want to go a step further and get the top Users who closed the most Manual Activities in that period.
# Smlets Module
Import-module -name Smlets
# Get the Manual Activity Class
$MAClass = Get-SCSMClass -Name System.WorkItem.Activity.ManualActivity$
# Get the Manual Activity Completed Status Enumeration
$MAStatusCompleted = Get-SCSMEnumeration -Name ActivityStatusEnum.Completed$
# Get the starting date from where we are searching
$MAModifiedDay = (Get-date).Adddays(-30)
# Get the Criteria Class
$CriteriaClass = "Microsoft.EnterpriseManagement.Common.EnterpriseManagementObjectCriteria"
# Define the Filter
$Filter = "Status = '$($MAStatusCompleted.Id)' AND LastModified > '$MAModifiedDay'"
# Create de Criteria Object
$CriteriaObject = new-object $CriteriaClass $Filter, $MAClass
# AssignedUser RelationshipClass
$RelationshipClass_AssignedUser = Get-SCSMRelationshipClass -Name System.WorkItemAssignedToUser$
# Search for Manual Activities, show the Ticket ID and the AssignedTo User's displayname
# Group per AssignedTo User and sort per Count
Get-SCSMObject -criteria $CriteriaObject|
Select-Object -property Name, @{
Label="AssignedTo";
E={
(Get-ScsmRelatedObject -SMObject $_ -Relationship $RelationshipClass_AssignedUser).displayname
}
}|
Group-Object -Property AssignedTo |
Sort-Object -Property Count -Descending
This gives me the top users who closed Manual Activities
Leave a comment