Public/Update/Update-NinjaOneLocation.ps1
function Update-NinjaOneLocation { <# .SYNOPSIS Updates location information, like name, address, description etc. .DESCRIPTION Updates location information using the NinjaOne v2 API. .OUTPUTS A powershell object containing the response. #> [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Medium' )] [OutputType([Object])] [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', '', Justification = 'Uses dynamic parameter parsing.')] Param( # The organisation to set the location information for. [Parameter(Mandatory = $true)] [Int]$organisationId, # The location to set the information for. [Parameter(Mandatory = $true)] [Int]$locationId, # The location information body object. [Parameter(Mandatory = $true)] [object]$locationInformation ) try { $Resource = "v2/organization/$organisationId/locations/$locationId" $RequestParams = @{ Resource = $Resource Body = $deviceInformation } $OrganisationExists = (Get-NinjaOneOrganisation -OrganisationId $organisationId).Count -gt 0 $LocationExists = (Get-NinjaOneLocation -OrganisationId $organisationId -LocationId $locationId).Count -gt 0 if ($OrganisationExists -and $LocationExists) { if ($PSCmdlet.ShouldProcess('Location information', 'Update')) { $LocationUpdate = New-NinjaOnePATCHRequest @RequestParams if ($LocationUpdate -eq 204) { Write-Information "Location information for location $($locationId) updated successfully." } } } else { Throw "Organisation $($organisationId) or location $($locationId) does not exist." } } catch { New-NinjaOneError -ErrorRecord $_ } } |