From 63f6ae12e216625adeb0d89c0924fbd3c6fe1cb2 Mon Sep 17 00:00:00 2001 From: shcgitpf Date: Thu, 11 Mar 2021 10:04:42 +0000 Subject: [PATCH] Updated for current API fields The API supports a 'PUT' for modifying parts of an asset, but most of the supported fields were missing (I need to be able to set a location for example which was missing). I've added all the current API fields and replaced the $values section with Get-ParameterValue. Not fully tested everything but looking good so far. --- SnipeitPS/Public/Set-Asset.ps1 | 65 ++++++++++++++++++++++++++++++---- 1 file changed, 58 insertions(+), 7 deletions(-) diff --git a/SnipeitPS/Public/Set-Asset.ps1 b/SnipeitPS/Public/Set-Asset.ps1 index fd11788..56ab2da 100644 --- a/SnipeitPS/Public/Set-Asset.ps1 +++ b/SnipeitPS/Public/Set-Asset.ps1 @@ -1,6 +1,6 @@ <# .SYNOPSIS - Update a Asset in the Snipe-it asset system + Update a specific Asset in the Snipe-it asset system .DESCRIPTION Long description @@ -9,13 +9,46 @@ ID of the Asset .PARAMETER Name - Name of the Asset + Asset name .PARAMETER Status_id Status ID of the asset, this can be got using Get-Status .PARAMETER Model_id Model ID of the asset, this can be got using Get-Model + + .PARAMETER last_checkout + Date the asset was last checked out + + .PARAMETER assigned_to + The id of the user the asset is currently checked out to + + .PARAMETER company_id + The id of an associated company id + + .PARAMETER serial + Serial number of the asset + + .PARAMETER order_number + Order number for the asset + + .PARAMETER warranty_months + Number of months for the asset warranty + + .PARAMETER purchase_cost + Purchase cost of the asset, without a currency symbol + + .PARAMETER purchase_date + Date of asset purchase + + .PARAMETER requestable + Whether or not the asset can be requested by users with the permission to request assets + + .PARAMETER archived + Whether or not the asset is archived. Archived assets cannot be checked out and do not show up in the deployable asset screens + + .PARAMETER rtd_location_id + The id that corresponds to the location where the asset is usually located when not checked out .PARAMETER url URL of Snipeit system, can be set using Set-Info command @@ -49,6 +82,28 @@ function Set-Asset() [string]$Status_id, [string]$Model_id, + + [DateTime]$last_checkout, + + [int]$assigned_to, + + [int]$company_id, + + [string]$serial, + + [string]$order_number, + + [int]$warranty_months, + + [double]$purchase_cost, + + [DateTime]$purchase_date, + + [bool]$requestable, + + [bool]$archived, + + [int]$rtd_location_id, [parameter(mandatory = $true)] [string]$url, @@ -59,11 +114,7 @@ function Set-Asset() [hashtable] $customfields ) - $Values = @{ - "name" = $Name - "status_id" = $status_id - "model_id" = $model_id - } + $Values = . Get-ParameterValue if ($customfields) {