diff --git a/SnipeitPS/Public/Get-SnipeItAccessory.ps1 b/SnipeitPS/Public/Get-SnipeItAccessory.ps1 index 732b640..fbbe131 100644 --- a/SnipeitPS/Public/Get-SnipeItAccessory.ps1 +++ b/SnipeitPS/Public/Get-SnipeItAccessory.ps1 @@ -36,25 +36,38 @@ Get-SnipeItAccessory -id 1 function Get-SnipeItAccessory() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get by ID')] + [int]$id, + + [parameter(ParameterSetName='Search')] [int]$company_id, + [parameter(ParameterSetName='Search')] [int]$category_id, + [parameter(ParameterSetName='Search')] [int]$manufacturer_id, + [parameter(ParameterSetName='Search')] [int]$supplier_id, + [parameter(ParameterSetName='Search')] [string]$sort = "created_at", + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] @@ -65,6 +78,10 @@ function Get-SnipeItAccessory() { ) Test-SnipeItAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name + if ($id -and $search){ + throw "Please specify only one of -id or -search parameter" + } + $SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters $Parameters = @{ @@ -74,6 +91,10 @@ function Get-SnipeItAccessory() { Token = $apiKey } + if($id){ + $Parameters.Uri ="$url/api/v1/accessories/$id" + } + if ($all) { $offstart = $(if($offset){$offset} Else {0}) $callargs = $SearchParameter diff --git a/SnipeitPS/Public/Get-SnipeItAsset.ps1 b/SnipeitPS/Public/Get-SnipeItAsset.ps1 index 7231296..069b324 100644 --- a/SnipeitPS/Public/Get-SnipeItAsset.ps1 +++ b/SnipeitPS/Public/Get-SnipeItAsset.ps1 @@ -74,43 +74,63 @@ Get-SnipeItAsset -asset_tag "myAssetTag"-url "https://assets.example.com"-token function Get-SnipeItAsset() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with id')] [int]$id, + [parameter(ParameterSetName='Get with asset tag')] [string]$asset_tag, + + [parameter(ParameterSetName='Get with serial')] [Alias('asset_serial')] [string]$serial, + [parameter(ParameterSetName='Search')] [string]$order_number, + [parameter(ParameterSetName='Search')] [int]$model_id, + [parameter(ParameterSetName='Search')] [int]$category_id, + [parameter(ParameterSetName='Search')] [int]$manufacturer_id, + [parameter(ParameterSetName='Search')] [int]$company_id, + [parameter(ParameterSetName='Search')] [int]$location_id, + [parameter(ParameterSetName='Search')] [int]$depreciation_id, + [parameter(ParameterSetName='Search')] [bool]$requestable = $false, + [parameter(ParameterSetName='Search')] [string]$status, + [parameter(ParameterSetName='Search')] [int]$status_id, + [parameter(ParameterSetName='Search')] [string]$sort = "created_at", + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] [string]$url, diff --git a/SnipeitPS/Public/Get-SnipeItCategory.ps1 b/SnipeitPS/Public/Get-SnipeItCategory.ps1 index 28de911..3aeba40 100644 --- a/SnipeitPS/Public/Get-SnipeItCategory.ps1 +++ b/SnipeitPS/Public/Get-SnipeItCategory.ps1 @@ -34,17 +34,23 @@ Get-SnipeItCategory -search "Laptop" function Get-SnipeItCategory() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItCompany.ps1 b/SnipeitPS/Public/Get-SnipeItCompany.ps1 index 319585f..06aa0ad 100644 --- a/SnipeitPS/Public/Get-SnipeItCompany.ps1 +++ b/SnipeitPS/Public/Get-SnipeItCompany.ps1 @@ -35,17 +35,23 @@ Gets specific company function Get-SnipeItCompany() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory=$true)] diff --git a/SnipeitPS/Public/Get-SnipeItComponent.ps1 b/SnipeitPS/Public/Get-SnipeItComponent.ps1 index dd09f7f..78c2750 100644 --- a/SnipeitPS/Public/Get-SnipeItComponent.ps1 +++ b/SnipeitPS/Public/Get-SnipeItComponent.ps1 @@ -39,26 +39,36 @@ Returns specific component function Get-SnipeItComponent() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [int]$category_id, + [parameter(ParameterSetName='Search')] [int]$company_id, + [parameter(ParameterSetName='Search')] [int]$location_id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [ValidateSet('id', 'name', 'min_amt', 'order_number', 'serial', 'purchase_date', 'purchase_cost', 'company', 'category', 'qty', 'location', 'image', 'created_at')] [string]$sort = "created_at", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItDepartment.ps1 b/SnipeitPS/Public/Get-SnipeItDepartment.ps1 index 2bdd4a5..9cb5413 100644 --- a/SnipeitPS/Public/Get-SnipeItDepartment.ps1 +++ b/SnipeitPS/Public/Get-SnipeItDepartment.ps1 @@ -37,19 +37,26 @@ Get-SnipeItDepartment -id 1 function Get-SnipeItDepartment() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, + [parameter(ParameterSetName='Search')] [ValidateSet('id', 'name', 'image', 'users_count', 'created_at')] [string]$sort = "created_at", diff --git a/SnipeitPS/Public/Get-SnipeItLicense.ps1 b/SnipeitPS/Public/Get-SnipeItLicense.ps1 index 0478663..a0ff09a 100644 --- a/SnipeitPS/Public/Get-SnipeItLicense.ps1 +++ b/SnipeitPS/Public/Get-SnipeItLicense.ps1 @@ -34,42 +34,60 @@ Get-SnipeItLicense -id 1 function Get-SnipeItLicense() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [string]$name, + [parameter(ParameterSetName='Search')] [int] $company_id, + [parameter(ParameterSetName='Search')] [string]$product_key, + [parameter(ParameterSetName='Search')] [string]$order_number, + [parameter(ParameterSetName='Search')] [string]$purchase_order, + [parameter(ParameterSetName='Search')] [string]$license_name, + [parameter(ParameterSetName='Search')] [mailaddress]$license_email, + [parameter(ParameterSetName='Search')] [int]$manufacturer_id, + [parameter(ParameterSetName='Search')] [int]$supplier_id, + [parameter(ParameterSetName='Search')] [int]$depreciation_id, + [parameter(ParameterSetName='Search')] [int]$category_id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [ValidateSet('id', 'name', 'purchase_cost', 'expiration_date', 'purchase_order', 'order_number', 'notes', 'purchase_date', 'serial', 'company', 'category', 'license_name', 'license_email', 'free_seats_count', 'seats', 'manufacturer', 'supplier')] [string]$sort = "created_at", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItLocation.ps1 b/SnipeitPS/Public/Get-SnipeItLocation.ps1 index 78a7d97..e669da1 100644 --- a/SnipeitPS/Public/Get-SnipeItLocation.ps1 +++ b/SnipeitPS/Public/Get-SnipeItLocation.ps1 @@ -34,17 +34,23 @@ Get-SnipeItLocation -id 3 function Get-SnipeitLocation() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItManufacturer.ps1 b/SnipeitPS/Public/Get-SnipeItManufacturer.ps1 index f8b5eeb..8c465a3 100644 --- a/SnipeitPS/Public/Get-SnipeItManufacturer.ps1 +++ b/SnipeitPS/Public/Get-SnipeItManufacturer.ps1 @@ -36,17 +36,23 @@ Returns manufacturer with id 3 function Get-SnipeItManufacturer() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItModel.ps1 b/SnipeitPS/Public/Get-SnipeItModel.ps1 index 0ad7d78..bc19108 100644 --- a/SnipeitPS/Public/Get-SnipeItModel.ps1 +++ b/SnipeitPS/Public/Get-SnipeItModel.ps1 @@ -34,17 +34,23 @@ Get-SnipeItModel -id 1 function Get-SnipeItModel() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItStatus.ps1 b/SnipeitPS/Public/Get-SnipeItStatus.ps1 index 6f0bcdf..bca89f5 100644 --- a/SnipeitPS/Public/Get-SnipeItStatus.ps1 +++ b/SnipeitPS/Public/Get-SnipeItStatus.ps1 @@ -34,17 +34,23 @@ Get-SnipeItStatus -id 3 function Get-SnipeItStatus() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItSupplier.ps1 b/SnipeitPS/Public/Get-SnipeItSupplier.ps1 index 66c46a5..84ee531 100644 --- a/SnipeitPS/Public/Get-SnipeItSupplier.ps1 +++ b/SnipeitPS/Public/Get-SnipeItSupplier.ps1 @@ -34,17 +34,23 @@ Get-SnipeItSupplier -id 2 function Get-SnipeItSupplier() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [int]$id, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Get-SnipeItUser.ps1 b/SnipeitPS/Public/Get-SnipeItUser.ps1 index 5e8849b..b35f837 100644 --- a/SnipeitPS/Public/Get-SnipeItUser.ps1 +++ b/SnipeitPS/Public/Get-SnipeItUser.ps1 @@ -44,29 +44,41 @@ Get-SnipeItUser -email user@somedomain.com function Get-SnipeItUser() { Param( + [parameter(ParameterSetName='Search')] [string]$search, + [parameter(ParameterSetName='Get with ID')] [string]$id, + [parameter(ParameterSetName='Search')] [int]$company_id, + [parameter(ParameterSetName='Search')] [int]$location_id, + [parameter(ParameterSetName='Search')] [int]$group_id, + [parameter(ParameterSetName='Search')] [int]$department_id, + [parameter(ParameterSetName='Search')] [string]$username, + [parameter(ParameterSetName='Search')] [string]$email, + [parameter(ParameterSetName='Search')] [ValidateSet("asc", "desc")] [string]$order = "desc", + [parameter(ParameterSetName='Search')] [int]$limit = 50, + [parameter(ParameterSetName='Search')] [int]$offset, + [parameter(ParameterSetName='Search')] [switch]$all = $false, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/New-SnipeItComponent.ps1 b/SnipeitPS/Public/New-SnipeItComponent.ps1 index 3018aea..711b370 100644 --- a/SnipeitPS/Public/New-SnipeItComponent.ps1 +++ b/SnipeitPS/Public/New-SnipeItComponent.ps1 @@ -17,6 +17,9 @@ Quantity of the components you have .PARAMETER location_id ID number of the location the accessory is assigned to +.PARAMETER order_number +Order number of the component + .PARAMETER purchase_date Date accessory was purchased @@ -56,6 +59,8 @@ function New-SnipeItComponent() { [int]$location_id, + [string]$order_number, + [datetime]$purchase_date, [float]$purchase_cost, diff --git a/SnipeitPS/Public/Set-SnipeItAccessory.ps1 b/SnipeitPS/Public/Set-SnipeItAccessory.ps1 index f0a5780..54b9be8 100644 --- a/SnipeitPS/Public/Set-SnipeItAccessory.ps1 +++ b/SnipeitPS/Public/Set-SnipeItAccessory.ps1 @@ -84,7 +84,7 @@ function Set-SnipeItAccessory() { [ValidateRange(1, [int]::MaxValue)] [int]$manufacturer_id, - [AllowEmptyString] + [string]$order_number, [float]$purchase_cost, @@ -113,6 +113,7 @@ function Set-SnipeItAccessory() { } $Body = $Values | ConvertTo-Json; + Write-Verbose "Body: $Body" } process { diff --git a/SnipeitPS/Public/Set-SnipeItAsset.ps1 b/SnipeitPS/Public/Set-SnipeItAsset.ps1 index 11d12bf..6cf2ca6 100644 --- a/SnipeitPS/Public/Set-SnipeItAsset.ps1 +++ b/SnipeitPS/Public/Set-SnipeItAsset.ps1 @@ -86,6 +86,7 @@ function Set-SnipeItAsset() [parameter(mandatory = $true,ValueFromPipelineByPropertyName)] [int[]]$id, + [string]$name, [int]$status_id, @@ -100,6 +101,7 @@ function Set-SnipeItAsset() [string]$serial, + [string]$order_number, [int]$warranty_months, diff --git a/SnipeitPS/Public/Set-SnipeItComponents.ps1 b/SnipeitPS/Public/Set-SnipeItComponents.ps1 index 5234324..fb1fe5c 100644 --- a/SnipeitPS/Public/Set-SnipeItComponents.ps1 +++ b/SnipeitPS/Public/Set-SnipeItComponents.ps1 @@ -20,6 +20,9 @@ Quantity of the components you have .PARAMETER location_id ID number of the location the accessory is assigned to +.PARAMETER order_number +Order number for the accessory + .PARAMETER purchase_date Date accessory was purchased @@ -58,6 +61,9 @@ function Set-SnipeItComponent() [int]$location_id, + + [string]$order_number, + [datetime]$purchase_date, [float]$purchase_cost, diff --git a/SnipeitPS/Public/Set-SnipeItLicense.ps1 b/SnipeitPS/Public/Set-SnipeItLicense.ps1 index c5faa07..6471139 100644 --- a/SnipeitPS/Public/Set-SnipeItLicense.ps1 +++ b/SnipeitPS/Public/Set-SnipeItLicense.ps1 @@ -107,6 +107,7 @@ function Set-SnipeItLicense() { [string]$notes, + [string]$order_number, [float]$purchase_cost, diff --git a/SnipeitPS/Public/Set-SnipeItModel.ps1 b/SnipeitPS/Public/Set-SnipeItModel.ps1 index 8d85abb..04fc5a1 100644 --- a/SnipeitPS/Public/Set-SnipeItModel.ps1 +++ b/SnipeitPS/Public/Set-SnipeItModel.ps1 @@ -46,7 +46,6 @@ function Set-SnipeItModel() { [ValidateLength(1, 255)] [string]$name, - [ValidateLength(1, 255)] [string]$model_number, [int]$category_id, diff --git a/SnipeitPS/Public/Set-SnipeItUser.ps1 b/SnipeitPS/Public/Set-SnipeItUser.ps1 index d858ebb..26227a5 100644 --- a/SnipeitPS/Public/Set-SnipeItUser.ps1 +++ b/SnipeitPS/Public/Set-SnipeItUser.ps1 @@ -80,10 +80,13 @@ function Set-SnipeItUser() { [string]$userName, + [string]$jobtitle, + [string]$email, + [string]$phone, [int]$company_id, @@ -94,10 +97,12 @@ function Set-SnipeItUser() { [int]$manager_id, + [string]$employee_num, [bool]$activated, + [string]$notes, [parameter(mandatory = $true)] diff --git a/SnipeitPS/Public/Update-SnipeItAlias.ps1 b/SnipeitPS/Public/Update-SnipeItAlias.ps1 index 7869b34..50ff7ad 100644 --- a/SnipeitPS/Public/Update-SnipeItAlias.ps1 +++ b/SnipeitPS/Public/Update-SnipeItAlias.ps1 @@ -25,7 +25,7 @@ function Update-SnipeItAlias() param( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] - [AllowEmptyString()] + [string[]] $String )