We had some instances where some of our Service requests wouldn’t change their status to “Completed” in Service Manager console. This is a bit irritating as you can’t get rid of the request until it’s fully completed.

Some requests have Activities that will need to be fulfilled before they auto-complete, therefore can’t set to complete manually. Our case was just something hanging in the backend that I never figured.

Goint to the point, after some time googling I found some tips on how to set these Service Requests to complete. In this case we use PowerShell and Service Manager Shell. Unfortunately i can’t point the credits as i don’t remember where I found the info…sorry person.

Start by opening your Service Manager Shell as Admin, copy and change the SR1234 to match your Service request number in the code below. Then just press enter to run it, but again, make sure you set the right SR number or you’ll have to re-run the code with “In Progress” instead of “Completed” in the code section.

				
					(get-scsmclass -name "System.WorkItem.ServiceRequest" | get-scsmclassinstance) | where {$_.ID -eq 'SR1234'} | %{ $_.Status = "Completed" ; $_ } | update-scsmclassinstance
				
			

Your Service Request should now show Completed and moved from your Open Request queue. Hope that solved your issue, and come back for more tips.