Compare commits

..

36 commits

Author SHA1 Message Date
Petri Asikainen
d14244d727
Merge pull request #283 from snazy2000/develop
Merge Develop
Support for more search fields and updated documentation  @mattcarras
2022-08-31 22:11:12 +03:00
Petri Asikainen
fadfa2d797
Merge pull request #282 from mattcarras/feature/update_get_functions
Update Get Functions
2022-08-31 22:05:15 +03:00
Matthew Carras
3a5d951cb9 Update Get Functions
* Add additional parameters to Get functions, especially -name wherever possible.
* Add some missing function help
2022-08-31 14:30:45 -04:00
Petri Asikainen
7582b0fa1a
Merge pull request #278 from snazy2000/develop
Support for setting group on user creation  and api request throttling
Now there's API request throttling support in SnipeitPS . You can specify throttlelimit and period with Connect-SnipeitPS . After that SnipeitPS know when to pause. You can start limit 120 and period 60000 (ms) from hosted snipeit installation. For the fine tune there's throttlemode parameter that can be set to Burst, Constant or Adaptive.
2022-08-10 09:15:43 +03:00
Petri Asikainen
381b6e3586
Merge pull request #276 from PetriAsi/feature/throttlerequests
Feature/throttlerequests
2022-08-08 13:59:43 +03:00
Petri Asikainen
79b94981ec Support request throttling 2022-08-08 13:04:05 +03:00
Petri Asikainen
6b3bc0f459
Merge pull request #275 from chaosjester/develop
Add Groups to New/Set-SnipeitUser.ps1
2022-08-05 10:13:09 +03:00
chaosjester
4a889cfb44 Add Groups to New/Set-SnipeitUser.ps1 2022-07-29 23:47:38 +10:00
Petri Asikainen
98095b6a53
Merge pull request #267 from snazy2000/develop
Publish develop
2022-03-30 20:50:02 +03:00
Petri Asikainen
758c5140b6
Merge pull request #266 from PetriAsi/feature/setsnipeituser
Added Set-SnipeitUser -ldap_import parameter
2022-03-30 20:48:00 +03:00
Petri Asikainen
d70f22d5f5 Updated docs 2022-03-30 20:45:50 +03:00
Petri Asikainen
5feafa0574 Added ldap_import 2022-03-30 14:17:56 +03:00
Petri Asikainen
72215faf0b
Merge pull request #262 from snazy2000/develop
Added: Set supplier_id of asset
2022-02-24 23:11:19 +02:00
Petri Asikainen
8af189e95b
Merge pull request #261 from PetriAsi/fix/setsnipeitasset
Added set supplier_id to Set-SnipeitAsset
2022-02-24 11:51:24 +02:00
Petri Asikainen
56a4525230 Updated docs, supplier_id 2022-02-24 11:47:55 +02:00
Petri Asikainen
32c95f8077 Added supplier_id 2022-02-24 11:47:04 +02:00
Petri Asikainen
cc475abf8c Added description of supplier_id 2022-02-24 11:46:46 +02:00
Petri Asikainen
f3391bb521
Merge pull request #259 from snazy2000/develop
Added:  Next Audit Date to New-SnipeItAudit.ps1
2022-02-05 13:41:20 +02:00
Petri Asikainen
5aa6a2eed5
Merge pull request #258 from PetriAsi/update/docs
updated docs
2022-02-05 13:34:59 +02:00
Petri Asikainen
452573c9a0 updated docs 2022-02-05 13:33:22 +02:00
Petri Asikainen
72c6ccbd38
Merge pull request #257 from PetriAsi/patch-1
@RussellLeVasseur :  Add Next Audit Date to New-SnipeItAudit.ps1
2022-02-05 13:22:21 +02:00
Petri Asikainen
e321cd3fa1 corrected missed next_audit_date 2022-02-05 13:17:19 +02:00
Russell LeVasseur
b4c2b51024 changed var to next_audit_date 2022-02-04 23:24:39 +02:00
RussellLeVasseur
f26db93a16 Fix variable naming and one grammar error
Changed from nextAudit to next_audit.
2022-02-04 23:24:39 +02:00
RussellLeVasseur
51cb9f88f5 Update New-SnipeitAudit.ps1
- Modified nextAudit param to [datetime]
- Added parameter description at beginning of doc
- Added code to format date to yyyy-MM-dd for SnipeIT
2022-02-04 23:24:39 +02:00
RussellLeVasseur
68ae039013 Add Next Audit Date to New-SnipeItAudit.ps1 2022-02-04 23:24:39 +02:00
Petri Asikainen
9e014ad06b
Merge pull request #254 from snazy2000/develop
Fail when snipe it returns unauthorized
2021-12-18 12:26:06 +02:00
Petri Asikainen
7ac8a5c9bd
Merge pull request #253 from PetriAsi/fix/#252
Fail when request is unauthorized
2021-12-18 12:24:29 +02:00
Petri Asikainen
e2923cade8 Fail when request is unauthorized 2021-12-18 11:49:27 +02:00
Petri Asikainen
e10f520008
Merge pull request #248 from snazy2000/develop
Fixed #246: Notes on checkin
2021-11-24 17:44:18 +02:00
Petri Asikainen
4e4a739418
Merge pull request #247 from PetriAsi/fix/#246
fix #246
2021-11-24 15:10:35 +02:00
Petri Asikainen
2f1873497d fix #246 2021-11-24 15:09:16 +02:00
Petri Asikainen
db2fb6278c fix #246 2021-11-24 15:07:36 +02:00
Petri Asikainen
536bff19bb
Merge pull request #244 from snazy2000/develop
Added #242: Set-SnipeitAsset  set  asset_tag
2021-10-28 10:11:16 +03:00
Petri Asikainen
ec40912018
Merge pull request #243 from PetriAsi/feature/#242
Added #242: Set-SnipeitAsset  set asset_tag
2021-10-28 10:03:58 +03:00
Petri Asikainen
83e8e43bc2 set asset_tag 2021-10-28 09:59:53 +03:00
25 changed files with 538 additions and 46 deletions

View file

@ -118,6 +118,58 @@ function Invoke-SnipeitMethod {
Write-Debug "$($Body | ConvertTo-Json)"
#Check throttle limit
if ($SnipeitPSSession.throttleLimit -gt 0) {
Write-Verbose "Check for request throttling"
Write-debug "ThrottleMode: $($SnipeitPSSession.throttleMode)"
Write-debug "ThrottleLimit: $($SnipeitPSSession.throttleLimit)"
Write-debug "ThrottlePeriod: $($SnipeitPSSession.throttlePeriod)"
Write-debug "ThrottleThreshold: $($SnipeitPSSession.throttleThreshold)"
Write-debug "Current count: $($SnipeitPSSession.throttledRequests.count)"
#current request timestamps in period
$SnipeitPSSession.throttledRequests = ($SnipeitPSSession.throttledRequests).where({$_ -gt (get-date).AddMilliseconds( 0 - $SnipeitPSSession.throttlePeriod).ToFileTime()})
#make sure that we alway have list here
if($null -eq $SnipeitPSSession.throttledRequests) {
$SnipeitPSSession.throttledRequests = [System.Collections.ArrayList]::new()
}
$naptime = 0
switch ($SnipeitPSSession.throttleMode) {
"Burst" {
if ($SnipeitPSSession.throttledRequests.count -ge $SnipeitPSSession.throttleLimit) {
$naptime = [Math]::Round(((get-date).ToFileTime() - ($SnipeitPSSession.throttledRequests[0]))/10000)
}
}
"Constant" {
$prevrequesttime =[Math]::Round(((get-date).ToFileTime() - ($SnipeitPSSession.throttledRequests[$SnipeitPSSession.throttledRequests.count - 1]))/10000)
$naptime = [Math]::Round($SnipeitPSSession.throttlePeriod / $SnipeitPSSession.throttleLimit) - $prevrequesttime
}
"Adaptive" {
$unThrottledRequests = $SnipeitPSSession.throttleLimit * ($SnipeitPSSession.throttleThreshold / 100)
if($SnipeitPSSession.throttledRequests.count -ge $unThrottledRequests) {
#calculate time left in throttlePeriod and devide it for remaining requests
$remaining = $SnipeitPSSession.throttleLimit - $SnipeitPSSession.throttledRequests.count
if ($remaining -lt 1) {
$remaining = 1
}
$naptime = [Math]::Round((((get-date).ToFileTime() - ($SnipeitPSSession.throttledRequests[0]))/ 10000) / $remaining)
}
}
}
#Do we need a nap
if ($naptime -gt 0) {
Write-verbose "Throttling request for $naptime ms"
Start-Sleep -Milliseconds $naptime
}
$SnipeitPSSession.throttledRequests.Add((Get-Date).ToFileTime())
}
# Invoke the API
try {
Write-Verbose "[$($MyInvocation.MyCommand.Name)] Invoking method $Method to URI $URi"
@ -144,6 +196,10 @@ function Invoke-SnipeitMethod {
# This could be handled nicely in an function such as:
# ResolveError $response -WriteError
Write-Error $($webResponse.messages | Out-String)
} elseif ( $webResponse.StatusCode -eq 'Unauthorized') {
Write-Verbose "[$($MyInvocation.MyCommand.Name)] An Unauthorized response was received"
Write-Error "Cannot connect to Snipe It: Unauthorized."
return $false
} else {
#update operations return payload
if ($webResponse.payload) {

View file

@ -20,6 +20,22 @@
PSCredential where username shoul be snipe it url and password should be
snipe it apikey.
.PARAMETER throttleLimit
Throttle request rate to nro of requests per throttlePeriod. Defaults to 0 that means no requests are not throttled.
.PARAMETER throttlePeriod
Throttle period time span in milliseconds defaults to 60 milliseconds.
.PARAMETER throttleThreshold
Threshold percentage of used request on period after request are throttled.
.PARAMETER throttleMode
RequestThrottling type. "Burst" allows all requests to be used in ThrottlePeriod without delays and then waits
until there's new requests avalable. With "Contant" mode there always delay between requests. Delay is calculated
by dividing throttlePeriod with throttleLimit. "Adaptive" mode allows throttleThreshold percentage of request to be
used with out delay, after threshold limit is reached next requests are delayded by dividing available requests
over throttlePeriod.
.EXAMPLE
Connect-SnipeitPS -Url $url -apiKey $myapikey
Connect to Snipe it api.
@ -61,7 +77,28 @@ function Connect-SnipeitPS {
[SecureString]$secureApiKey,
[Parameter(ParameterSetName='Connect with credential',Mandatory=$true)]
[PSCredential]$siteCred
[PSCredential]$siteCred,
[Parameter(ParameterSetName='Connect with url and apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with url and secure apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with credential',Mandatory=$false)]
[int]$throttleLimit,
[Parameter(ParameterSetName='Connect with url and apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with url and secure apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with credential',Mandatory=$false)]
[int]$throttlePeriod,
[Parameter(ParameterSetName='Connect with url and apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with url and secure apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with credential',Mandatory=$false)]
[int]$throttleThreshold,
[Parameter(ParameterSetName='Connect with url and apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with url and secure apikey',Mandatory=$false)]
[Parameter(ParameterSetName='Connect with credential',Mandatory=$false)]
[ValidateSet("Burst","Constant","Adaptive")]
[string]$throttleMode
)
@ -86,6 +123,21 @@ function Connect-SnipeitPS {
$SnipeitPSSession.apiKey = $siteCred.GetNetworkCredential().SecurePassword
}
}
if($null -eq $throttleLimit) { $throttleLimit = 0}
$SnipeitPSSession.throttleLimit = $throttleLimit
if($throttleThreshold -lt 1) { $throttleThreshold = 90}
$SnipeitPSSession.throttleThreshold = $throttleThreshold
if('' -eq $throttleMode) { $throttleMode = "Burst"}
$SnipeitPSSession.throttleMode = $throttleMode
if ($SnipeitPSSession.throttleLimit -gt 0) {
if($null -eq $throttlePeriod) { $throttlePeriod = 60000}
$SnipeitPSSession.throttlePeriod = $throttlePeriod
$SnipeitPSSession.throttledRequests = [System.Collections.ArrayList]::new()
}
Write-Debug "Site-url $($SnipeitPSSession.url)"
Write-Debug "Site apikey: $($SnipeitPSSession.apiKey)"

View file

@ -8,9 +8,24 @@ Gets a list of Snipe-it Accessories
.PARAMETER search
A text string to search the Accessory data
.PARAMETER user_id
Return Accessories checked out to user id
.PARAMETER id
A id of specific Accessory
.PARAMETER company_id
Optionally restrict Accessory results to this company_id field
.PARAMETER category_id
Optionally restrict Accessory results to this category_id field
.PARAMETER manufacturer_id
Optionally restrict Accessory results to this manufacturer_id field
.PARAMETER supplier_id
Optionally restrict Accessory results to this supplier_id field
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all

View file

@ -20,12 +20,21 @@ Retrieve a list of assets that are due for auditing soon.
.PARAMETER audit_overdue
Retrieve a list of assets that are overdue for auditing.
.PARAMETER user_id
Retrieve a list of assets checked out to user id.
.PARAMETER component_id
Retrieve a list of assets assigned this component id.
.PARAMETER name
Optionally restrict asset results to this asset name
.PARAMETER order_number
Optionally restrict asset results to this order number
.PARAMETER model_id
Optionally restrict asset results to this asset model ID
.PARAMETER category_id
Optionally restrict asset results to this category ID
@ -38,12 +47,22 @@ Optionally restrict asset results to this company ID
.PARAMETER location_id
Optionally restrict asset results to this location ID
.PARAMETER depreciation_id
Optionally restrict asset results to this depreciation ID
.PARAMETER requestable
Optionally restrict asset results to those set as requestable
.PARAMETER status
Optionally restrict asset results to one of these status types: RTD, Deployed, Undeployable, Deleted, Archived, Requestable
.PARAMETER status_id
Optionally restrict asset results to this status label ID
.PARAMETER customfields
Hastable of custom fields and extra fields for searching assets in Snipe-It.
Use internal field names from Snipe-It. You can use Get-CustomField to get internal field names.
.PARAMETER sort
Specify the column name you wish to sort by
@ -132,6 +151,9 @@ function Get-SnipeitAsset() {
[parameter(ParameterSetName='Assets with component id')]
[int]$component_id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[string]$order_number,
@ -162,6 +184,9 @@ function Get-SnipeitAsset() {
[parameter(ParameterSetName='Search')]
[int]$status_id,
[parameter(ParameterSetName='Search')]
[hashtable]$customfields,
[parameter(ParameterSetName='Search')]
[parameter(ParameterSetName='Assets due auditing soon')]
[parameter(ParameterSetName='Assets overdue for auditing')]
@ -211,6 +236,15 @@ function Get-SnipeitAsset() {
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
# Add in custom fields.
if ($customfields.Count -gt 0) {
foreach ($pair in $customfields.GetEnumerator()) {
if (-Not $SearchParameter.ContainsKey($pair.Name)) {
$SearchParameter.Add($pair.Name, $pair.Value)
}
}
}
switch ($PsCmdlet.ParameterSetName) {
'Search' { $api = "/api/v1/hardware" }
'Get with id' {$api= "/api/v1/hardware/$id"}

View file

@ -8,6 +8,9 @@ A text string to search the Categories data
.PARAMETER id
A id of specific Category
.PARAMETER name
Optionally restrict Category results to this Category name.
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -40,6 +43,9 @@ function Get-SnipeitCategory() {
[parameter(ParameterSetName='Get with ID')]
[int]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[ValidateSet("asc", "desc")]
[string]$order = "desc",

View file

@ -8,6 +8,9 @@ A text string to search the Companies data
.PARAMETER id
A id of specific Company
.PARAMETER name
Optionally restrict company results to this company name.
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -41,6 +44,9 @@ function Get-SnipeitCompany() {
[parameter(ParameterSetName='Get with ID')]
[int]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[ValidateSet("asc", "desc")]
[string]$order = "desc",

View file

@ -8,6 +8,18 @@ A text string to search the Components data
.PARAMETER id
A id of specific Component
.PARAMETER name
Optionally restrict Component results to this name field
.PARAMETER company_id
Optionally restrict Component results to this company_id field
.PARAMETER category_id
Optionally restrict Component results to this category_id field
.PARAMETER location_id
Optionally restrict Component results to this location_id field
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -45,6 +57,9 @@ function Get-SnipeitComponent() {
[parameter(ParameterSetName='Get with ID')]
[int]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[int]$category_id,

View file

@ -8,6 +8,9 @@ A text string to search the consumables
.PARAMETER id
A id of specific consumable
.PARAMETER name
Optionally restrict consumable results to this name field
.PARAMETER company_id
Id number of company
@ -63,6 +66,9 @@ function Get-SnipeitConsumable() {
[parameter(ParameterSetName='Get with ID')]
[int[]]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[int]$category_id,

View file

@ -8,6 +8,18 @@ A text string to search the Departments data
.PARAMETER id
A id of specific Department
.PARAMETER name
Optionally restrict department results to this department name.
.PARAMETER manager_id
Optionally restrict department results to this manager ID.
.PARAMETER company_id
Optionally restrict department results to this company ID.
.PARAMETER location_id
Optionally restrict department results to this location ID.
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -43,6 +55,18 @@ function Get-SnipeitDepartment() {
[parameter(ParameterSetName='Get with ID')]
[int]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[int]$manager_id,
[parameter(ParameterSetName='Search')]
[int]$company_id,
[parameter(ParameterSetName='Search')]
[int]$location_id,
[parameter(ParameterSetName='Search')]
[ValidateSet("asc", "desc")]
[string]$order = "desc",

View file

@ -8,6 +8,24 @@ A text string to search the Locations data
.PARAMETER id
A id of specific Location
.PARAMETER name
Optionally restrict Location results to this Location name.
.PARAMETER address
Optionally restrict Location results to this Location address.
.PARAMETER address2
Optionally restrict Location results to this Location address2.
.PARAMETER city
Optionally restrict Location results to this Location city.
.PARAMETER zip
Optionally restrict Location results to this Location zip.
.PARAMETER country
Optionally restrict Location results to this Location country.
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -40,6 +58,24 @@ function Get-SnipeitLocation() {
[parameter(ParameterSetName='Get with ID')]
[int]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[string]$address,
[parameter(ParameterSetName='Search')]
[string]$address2,
[parameter(ParameterSetName='Search')]
[string]$city,
[parameter(ParameterSetName='Search')]
[string]$zip,
[parameter(ParameterSetName='Search')]
[string]$country,
[parameter(ParameterSetName='Search')]
[ValidateSet("asc", "desc")]
[string]$order = "desc",

View file

@ -8,6 +8,9 @@
.PARAMETER id
A id of specific Manufactuter
.PARAMETER name
Optionally restrict Manufacturer results to this name field
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -41,6 +44,9 @@ function Get-SnipeitManufacturer() {
[parameter(ParameterSetName='Get with ID')]
[int]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[ValidateSet("asc", "desc")]
[string]$order = "desc",

View file

@ -8,6 +8,9 @@ A text string to search the Status Labels data
.PARAMETER id
A id of specific Status Label
.PARAMETER name
Optionally restrict Status Label results to this name field
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -40,6 +43,9 @@ function Get-SnipeitStatus() {
[parameter(ParameterSetName='Get with ID')]
[int]$id,
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[ValidateSet("asc", "desc")]
[string]$order = "desc",

View file

@ -8,6 +8,33 @@ A text string to search the Supliers data
.PARAMETER id
A id of specific Suplier
.PARAMETER name
Optionally restrict Supplier results to this Supplier name.
.PARAMETER address
Optionally restrict Supplier results to this Supplier address.
.PARAMETER address2
Optionally restrict Supplier results to this Supplier address2.
.PARAMETER city
Optionally restrict Supplier results to this Supplier city.
.PARAMETER zip
Optionally restrict Supplier results to this Supplier zip.
.PARAMETER country
Optionally restrict Supplier results to this Supplier country.
.PARAMETER fax
Optionally restrict Supplier results to this Supplier fax number.
.PARAMETER email
Optionally restrict Supplier results to this Supplier email address.
.PARAMETER notes
Optionally restrict Supplier results to this Supplier notes field.
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -43,6 +70,33 @@ function Get-SnipeitSupplier() {
[ValidateSet("asc", "desc")]
[string]$order = "desc",
[parameter(ParameterSetName='Search')]
[string]$name,
[parameter(ParameterSetName='Search')]
[string]$address,
[parameter(ParameterSetName='Search')]
[string]$address2,
[parameter(ParameterSetName='Search')]
[string]$city,
[parameter(ParameterSetName='Search')]
[string]$zip,
[parameter(ParameterSetName='Search')]
[string]$country,
[parameter(ParameterSetName='Search')]
[string]$fax,
[parameter(ParameterSetName='Search')]
[string]$email,
[parameter(ParameterSetName='Search')]
[string]$notes,
[parameter(ParameterSetName='Search')]
[int]$limit = 50,

View file

@ -8,11 +8,56 @@ A text string to search the User data
.PARAMETER id
A id of specific User
.PARAMETER accessory_id
Get users a specific accessory id has been checked out to
.PARAMETER username
Search string for username field
Optionally restrict User results to this username field
.PARAMETER email
Search string for email field
Optionally restrict User results to this email field
.PARAMETER employee_num
Optionally restrict User results to this employee_num field
.PARAMETER state
Optionally restrict User results to this state field
.PARAMETER country
Optionally restrict User results to this country field
.PARAMETER zip
Optionally restrict User results to this zip field
.PARAMETER company_id
Optionally restrict User results to this company_id field
.PARAMETER location_id
Optionally restrict User results to this location_id field
.PARAMETER department_id
Optionally restrict User results to this department_id field
.PARAMETER deleted
Optionally restrict User results to deleted users only
.PARAMETER ldap_import
Optionally restrict User results to those with specified ldap_import value
.PARAMETER remote
Optionally restrict User results to those with specified remote worker value
.PARAMETER assets_count
Optionally restrict User results to those with the specified assets count
.PARAMETER licenses_count
Optionally restrict User results to those with the specified licenses count
.PARAMETER accessories_count
Optionally restrict User results to those with the specified accessories count
.PARAMETER consumables_count
Optionally restrict User results to those with the specified consumables count
.PARAMETER limit
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
@ -75,7 +120,40 @@ function Get-SnipeitUser() {
[parameter(ParameterSetName='Search')]
[string]$email,
[parameter(ParameterSetName='Search')]
[string]$employee_num,
[parameter(ParameterSetName='Search')]
[string]$state,
[parameter(ParameterSetName='Search')]
[string]$zip,
[parameter(ParameterSetName='Search')]
[string]$country,
[parameter(ParameterSetName='Search')]
[Nullable[bool]]$deleted,
[parameter(ParameterSetName='Search')]
[Nullable[bool]]$ldap_import,
[parameter(ParameterSetName='Search')]
[Nullable[bool]]$remote,
[parameter(ParameterSetName='Search')]
[int]$assets_count,
[parameter(ParameterSetName='Search')]
[int]$licenses_count,
[parameter(ParameterSetName='Search')]
[int]$accessories_count,
[parameter(ParameterSetName='Search')]
[int]$consumables_count,
[parameter(ParameterSetName='Search')]
[ValidateSet("asc", "desc")]
[string]$order = "desc",

View file

@ -39,6 +39,10 @@ Optional Purchase cost of the Asset
.PARAMETER purchase_date
Optional Purchase cost of the Asset
.PARAMETER supplier_id
Optional Supplier id of the Asset
.PARAMETER rtd_location_id
Optional Default location id for the asset

View file

@ -8,6 +8,9 @@ Long description
.PARAMETER Tag
The asset tag of the asset you wish to audit
.PARAMETER next_audit_date
Due date for the asset's next audit
.PARAMETER Location_id
ID of the location you want to associate with the audit
@ -28,6 +31,9 @@ function New-SnipeitAudit() {
[int]$location_id,
[parameter(mandatory = $false)]
[datetime]$next_audit_date,
[parameter(mandatory = $false)]
[string]$url,
@ -45,6 +51,10 @@ function New-SnipeitAudit() {
if ($PSBoundParameters.ContainsKey('tag')) {
$Values += @{"asset_tag" = $tag}
}
if ($PSBoundParameters.ContainsKey('next_audit_date')) {
$Values += @{"next_audit_date" = ($next_audit_date).ToString("yyyy-MM-dd")}
}
$Parameters = @{
Api = "/api/v1/hardware/audit"

View file

@ -44,6 +44,9 @@
.PARAMETER manager_id
ID number of manager
.PARAMETER groups
ID numbers of groups
.PARAMETER employee_num
Employeenumber
@ -103,6 +106,8 @@ function New-SnipeitUser() {
[int]$manager_id,
[int[]]$groups,
[string]$employee_num,
[bool]$ldap_import = $false,

View file

@ -13,7 +13,7 @@
.PARAMETER location_id
Location id to change asset location to
.PARAMETER notes
.PARAMETER note
Notes about checkin
.PARAMETER url
@ -37,7 +37,7 @@ function Reset-SnipeitAssetOwner() {
[int]$location_id,
[string]$notes,
[string]$note,
[parameter(mandatory = $false)]
[string]$url,
@ -49,7 +49,7 @@ function Reset-SnipeitAssetOwner() {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = @{
"notes" = $notes
"note" = $note
}
if ($PSBoundParameters.ContainsKey('location_id')) { $Values.Add("location_id", $location_id) }

View file

@ -8,6 +8,9 @@
.PARAMETER id
ID of the Asset or array of IDs
.PARAMETER asset_tag
New tag for asset.
.PARAMETER Name
Asset name
@ -41,6 +44,9 @@
.PARAMETER purchase_date
Date of asset purchase
.PARAMETER supplier_id
Supplier id of the Asset
.PARAMETER requestable
Whether or not the asset can be requested by users with the permission to request assets
@ -91,6 +97,9 @@ function Set-SnipeitAsset() {
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(Mandatory=$false)]
[string]
$asset_tag,
[string]$name,
@ -116,6 +125,9 @@ function Set-SnipeitAsset() {
[datetime]$purchase_date,
[parameter(mandatory = $false)]
[int]$supplier_id,
[bool]$requestable,
[bool]$archived,

View file

@ -47,6 +47,9 @@
.PARAMETER manager_id
ID number of manager
.PARAMETER groups
ID numbers of groups
.PARAMETER employee_num
Employeenumber
@ -110,12 +113,16 @@ function Set-SnipeitUser() {
[Nullable[System.Int32]]$manager_id,
[int[]]$groups,
[string]$employee_num,
[bool]$activated,
[string]$notes,
[bool]$ldap_import,
[ValidateScript({Test-Path $_})]
[string]$image,

View file

@ -298,7 +298,7 @@ Accept wildcard characters: False
```
### -supplier_id
{{ Fill supplier_id Description }}
Optional Supplier id of the Asset
```yaml
Type: Int32

View file

@ -13,8 +13,8 @@ Add a new Audit to Snipe-it asset system
## SYNTAX
```
New-SnipeitAudit [-tag] <String> [[-location_id] <Int32>] [[-url] <String>] [[-apiKey] <String>] [-WhatIf]
[-Confirm] [<CommonParameters>]
New-SnipeitAudit [-tag] <String> [[-location_id] <Int32>] [[-next_audit_date] <DateTime>] [[-url] <String>]
[[-apiKey] <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
## DESCRIPTION
@ -38,7 +38,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Position: 5
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -59,6 +59,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -next_audit_date
Due date for the asset's next audit
```yaml
Type: DateTime
Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -tag
The asset tag of the asset you wish to audit
@ -83,7 +98,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

View file

@ -13,7 +13,7 @@ Checkin asset
## SYNTAX
```
Reset-SnipeitAssetOwner [-id] <Int32> [[-status_id] <Int32>] [[-location_id] <Int32>] [[-notes] <String>]
Reset-SnipeitAssetOwner [-id] <Int32> [[-status_id] <Int32>] [[-location_id] <Int32>] [[-note] <String>]
[[-url] <String>] [[-apiKey] <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
@ -75,7 +75,7 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -notes
### -note
Notes about checkin
```yaml

View file

@ -13,12 +13,12 @@ Update a specific Asset in the Snipe-it asset system
## SYNTAX
```
Set-SnipeitAsset [-id] <Int32[]> [[-name] <String>] [[-status_id] <Int32>] [[-model_id] <Int32>]
[[-last_checkout] <DateTime>] [[-assigned_to] <Int32>] [[-company_id] <Int32>] [[-serial] <String>]
[[-order_number] <String>] [[-warranty_months] <Int32>] [[-purchase_cost] <Double>]
[[-purchase_date] <DateTime>] [[-requestable] <Boolean>] [[-archived] <Boolean>] [[-rtd_location_id] <Int32>]
[[-notes] <String>] [[-RequestType] <String>] [[-image] <String>] [-image_delete] [[-url] <String>]
[[-apiKey] <String>] [[-customfields] <Hashtable>] [-WhatIf] [-Confirm] [<CommonParameters>]
Set-SnipeitAsset [-id] <Int32[]> [[-asset_tag] <String>] [[-name] <String>] [[-status_id] <Int32>]
[[-model_id] <Int32>] [[-last_checkout] <DateTime>] [[-assigned_to] <Int32>] [[-company_id] <Int32>]
[[-serial] <String>] [[-order_number] <String>] [[-warranty_months] <Int32>] [[-purchase_cost] <Double>]
[[-purchase_date] <DateTime>] [[-supplier_id] <Int32>] [[-requestable] <Boolean>] [[-archived] <Boolean>]
[[-rtd_location_id] <Int32>] [[-notes] <String>] [[-RequestType] <String>] [[-image] <String>] [-image_delete]
[[-url] <String>] [[-apiKey] <String>] [[-customfields] <Hashtable>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
## DESCRIPTION
@ -53,7 +53,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 20
Position: 22
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -69,12 +69,27 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 14
Position: 16
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```
### -asset_tag
New tag for asset.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -assigned_to
The id of the user the asset is currently checked out to
@ -84,7 +99,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 6
Position: 7
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -99,7 +114,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 7
Position: 8
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -114,7 +129,7 @@ Parameter Sets: (All)
Aliases: CustomValues
Required: False
Position: 21
Position: 23
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -144,7 +159,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 18
Position: 20
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -174,7 +189,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 5
Position: 6
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -189,7 +204,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Position: 5
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
@ -204,7 +219,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -219,7 +234,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 16
Position: 18
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -234,7 +249,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 9
Position: 10
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -249,7 +264,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 11
Position: 12
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
@ -264,7 +279,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 12
Position: 13
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -279,7 +294,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 13
Position: 15
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
@ -295,7 +310,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 17
Position: 19
Default value: Patch
Accept pipeline input: False
Accept wildcard characters: False
@ -310,7 +325,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 15
Position: 17
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -325,7 +340,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 8
Position: 9
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -340,7 +355,22 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Position: 4
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
```
### -supplier_id
Supplier id of the Asset
```yaml
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: 14
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
@ -356,7 +386,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 19
Position: 21
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -371,7 +401,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 10
Position: 11
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

View file

@ -16,8 +16,8 @@ Creates a new user
Set-SnipeitUser [-id] <Int32[]> [[-first_name] <String>] [[-last_name] <String>] [[-username] <String>]
[[-jobtitle] <String>] [[-email] <String>] [[-phone] <String>] [[-password] <String>] [[-company_id] <Int32>]
[[-location_id] <Int32>] [[-department_id] <Int32>] [[-manager_id] <Int32>] [[-employee_num] <String>]
[[-activated] <Boolean>] [[-notes] <String>] [[-image] <String>] [-image_delete] [[-RequestType] <String>]
[[-url] <String>] [[-apiKey] <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
[[-activated] <Boolean>] [[-notes] <String>] [[-ldap_import] <Boolean>] [[-image] <String>] [-image_delete]
[[-RequestType] <String>] [[-url] <String>] [[-apiKey] <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
```
## DESCRIPTION
@ -58,7 +58,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 19
Position: 20
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -163,7 +163,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 16
Position: 17
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@ -214,6 +214,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -ldap_import
Mark user as import from ldap
```yaml
Type: Boolean
Parameter Sets: (All)
Aliases:
Required: False
Position: 16
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```
### -location_id
ID number of localtion
@ -299,7 +314,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 17
Position: 18
Default value: Patch
Accept pipeline input: False
Accept wildcard characters: False
@ -315,7 +330,7 @@ Parameter Sets: (All)
Aliases:
Required: False
Position: 18
Position: 19
Default value: None
Accept pipeline input: False
Accept wildcard characters: False