Author: Brody Kilpatrick | Created: April 26, 2019
This is another quickie. It find all work items assigned to one ad group/user, and then assigns to another.
$CurrentAssignedUser = "username1"
$NewAssignedUser = "username2"
import-module smlets
$DUClass = get-SCSMClass System.Domain.User$
$WIAssignedRelClass = Get-SCSMRelationshipClass System.WorkItemAssignedToUser$
$WIAssignedRelClassId = $WIAssignedRelClass.Id
$WIClass = Get-SCSMClass System.WorkItem$
#Get the currently Assigned User
$CurrentAssignedUserObject = Get-SCSMObject -Class $DUClass -Filter "Username -eq $CurrentAssignedUser"
#Get the User to Assign to
$NewAssignedUserObject = Get-SCSMObject -Class $DUClass -Filter "Username -eq $NewAssignedUser"
#Find all tickets assigned to the user
$WIRelObjectArray = @()
$WIRelObjectArray = Get-SCSMRelationshipObject -ByTarget $CurrentAssignedUserObject | ? {$_.RelationshipId -eq $WIAssignedRelClassId}
foreach ($WIRelObject in $WIRelObjectArray)
{
$WIObject = ($WIRelObject.SourceObject)
# Get-SCSMObject -class $WIClass -Filter "Id -eq $WIRelObjectid"
New-SCSMRelationshipObject -Relationship $WIAssignedRelClass -Source $WIObject -Target $NewAssignedUserObject -Bulk -Verbose
}