Public/Set-SDPOrgUser.ps1
|
function Set-SDPOrgUser { <# .SYNOPSIS Updates an existing org user in ServiceDesk Plus. .PARAMETER Id The ID of the org user to update. .PARAMETER Name Full name. .PARAMETER FirstName First name. .PARAMETER MiddleName Middle name. .PARAMETER LastName Last name. .PARAMETER LoginName Login/username. .PARAMETER EmailId Primary email address. .PARAMETER Phone Phone number. .PARAMETER Mobile Mobile number. .PARAMETER JobTitle Job title. .PARAMETER EmployeeId Employee ID. .PARAMETER IsVipUser Mark the user as a VIP user. .PARAMETER DepartmentId ID of the department to associate. .PARAMETER ReportingToId ID of the user this org user reports to. .EXAMPLE Set-SDPOrgUser -Id '12345' -JobTitle 'Senior Developer' #> [CmdletBinding(SupportsShouldProcess)] [OutputType('SDPOrgUser')] param( [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [string]$Id, [Parameter()] [string]$Name, [Parameter()] [string]$FirstName, [Parameter()] [string]$MiddleName, [Parameter()] [string]$LastName, [Parameter()] [string]$LoginName, [Parameter()] [string]$EmailId, [Parameter()] [string]$Phone, [Parameter()] [string]$Mobile, [Parameter()] [string]$JobTitle, [Parameter()] [string]$EmployeeId, [Parameter()] [bool]$IsVipUser, [Parameter()] [string]$DepartmentId, [Parameter()] [string]$ReportingToId ) process { $body = @{} if ($PSBoundParameters.ContainsKey('Name')) { $body['name'] = $Name } if ($PSBoundParameters.ContainsKey('FirstName')) { $body['first_name'] = $FirstName } if ($PSBoundParameters.ContainsKey('MiddleName')) { $body['middle_name'] = $MiddleName } if ($PSBoundParameters.ContainsKey('LastName')) { $body['last_name'] = $LastName } if ($PSBoundParameters.ContainsKey('LoginName')) { $body['login_name'] = $LoginName } if ($PSBoundParameters.ContainsKey('EmailId')) { $body['email_id'] = $EmailId } if ($PSBoundParameters.ContainsKey('Phone')) { $body['phone'] = $Phone } if ($PSBoundParameters.ContainsKey('Mobile')) { $body['mobile'] = $Mobile } if ($PSBoundParameters.ContainsKey('JobTitle')) { $body['jobtitle'] = $JobTitle } if ($PSBoundParameters.ContainsKey('EmployeeId')) { $body['employee_id'] = $EmployeeId } if ($PSBoundParameters.ContainsKey('IsVipUser')) { $body['is_vipuser'] = $IsVipUser } if ($PSBoundParameters.ContainsKey('DepartmentId')) { $body['department'] = @{ id = $DepartmentId } } if ($PSBoundParameters.ContainsKey('ReportingToId')) { $body['reporting_to'] = @{ id = $ReportingToId } } if ($PSCmdlet.ShouldProcess("Org User $Id", 'Update SDP Org User')) { $response = Invoke-SDPRestMethod -Endpoint "orgusers/$Id" -Method PUT -Body @{ orguser = $body } [SDPOrgUser]::new($response.orguser) } } } |