-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Resolve-Incident.ps1
32 lines (29 loc) · 1.28 KB
/
Resolve-Incident.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Import-Module SMLets
# Set some variables
$irId="IR2046" # Incident ID
$resolvedByUserName = "ppan1234" # Resolved By UserName
# Resolution details
$resolutionDescription = "Just a test" # Resolution Description
$resolutionCategory = "Fixed By Analyst" # Resolution Category
# Get required SCSM classes
$irClass = Get-SCSMClass -Name System.workitem.Incident$
$userClass = Get-SCSMclass -Name System.Domain.User$
# Get relationship class
$resolvedByUserRel = Get-SCSMRelationshipClass -name System.WorkItem.TroubleTicketResolvedByUser$
# Get required SCSM objects
# Incident object
$irObj = Get-SCSMObject -Class $irClass -Filter "ID -eq $irId"
# ResolvedBy User object
$resolvedByUserObj = Get-SCSMObject -Class $userClass -Filter "UserName -eq $resolvedByUserName"
# Prepar resolution details
$resolveDetails=@{
"Status" = "Resolved";
"ResolutionDescription" = "$resolutionDescription";
"ResolutionCategory" = "$resolutionCategory";
"ResolvedDate" = (Get-Date).ToUniversalTime();
"TargetResolutionTime" = (Get-Date).ToUniversalTime();
}
# Update incident object with resolution details
Set-SCSMObject -SMObject $irObj -PropertyHashtable $resolveDetails
# Create new relationship object ResolvedByUser
New-SCSMRelationshipObject -Relationship $resolvedByUserRel -Source $irObj -Target $resolvedByUserObj -Bulk