Functions/Add-LSAsset.ps1
|
function Add-LSAsset { Param ( [Parameter(Mandatory=$true)] [String]$Url, [Parameter(Mandatory=$true)] [String]$TicketID, [Parameter(Mandatory = $true, ParameterSetName = 'ByIP')] [string]$IPAddress, [Parameter(Mandatory = $true, ParameterSetName = 'ByName')] [string]$AssetName ) # Input either by name or ip $Asset = if ($PSCmdlet.ParameterSetName -eq 'ByIP') { "IPAddress=$IPAddress" } else { "AssetName=$AssetName" } # API call to add asset to ticket $Url = ($Url + "action=AddAsset&" + "TicketID=$TicketID&" + $Asset) $Request = Invoke-WebRequest -Uri $Url -UseBasicParsing # Checking response if($Request.StatusCode -ne 200) { throw ("{0} {1}" -f $Request.StatusCode, $Request.StatusDescription) } $Data = $Request.Content | ConvertFrom-Json if($Data.Success) { return $Data } else { Write-Error "Adding asset was not successful, check output message." return $Data } } |