mirror of
https://github.com/snazy2000/SnipeitPS.git
synced 2025-12-14 18:32:29 +00:00
Compare commits
17 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d14244d727 | ||
|
|
fadfa2d797 | ||
|
|
3a5d951cb9 | ||
|
|
7582b0fa1a | ||
|
|
381b6e3586 | ||
|
|
79b94981ec | ||
|
|
6b3bc0f459 | ||
|
|
4a889cfb44 | ||
|
|
98095b6a53 | ||
|
|
758c5140b6 | ||
|
|
d70f22d5f5 | ||
|
|
5feafa0574 | ||
|
|
72215faf0b | ||
|
|
8af189e95b | ||
|
|
56a4525230 | ||
|
|
32c95f8077 | ||
|
|
cc475abf8c |
21 changed files with 465 additions and 23 deletions
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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)"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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"}
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -44,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
|
||||
|
||||
|
|
@ -122,6 +125,9 @@ function Set-SnipeitAsset() {
|
|||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[int]$supplier_id,
|
||||
|
||||
[bool]$requestable,
|
||||
|
||||
[bool]$archived,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ Accept wildcard characters: False
|
|||
```
|
||||
|
||||
### -supplier_id
|
||||
{{ Fill supplier_id Description }}
|
||||
Optional Supplier id of the Asset
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ Update a specific Asset in the Snipe-it asset system
|
|||
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>] [[-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>]
|
||||
[[-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: 21
|
||||
Position: 22
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -69,7 +69,7 @@ Parameter Sets: (All)
|
|||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: 15
|
||||
Position: 16
|
||||
Default value: False
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -129,7 +129,7 @@ Parameter Sets: (All)
|
|||
Aliases: CustomValues
|
||||
|
||||
Required: False
|
||||
Position: 22
|
||||
Position: 23
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -159,7 +159,7 @@ Parameter Sets: (All)
|
|||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: 19
|
||||
Position: 20
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -234,7 +234,7 @@ Parameter Sets: (All)
|
|||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: 17
|
||||
Position: 18
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -294,7 +294,7 @@ Parameter Sets: (All)
|
|||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: 14
|
||||
Position: 15
|
||||
Default value: False
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -310,7 +310,7 @@ Parameter Sets: (All)
|
|||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: 18
|
||||
Position: 19
|
||||
Default value: Patch
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -325,7 +325,7 @@ Parameter Sets: (All)
|
|||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: 16
|
||||
Position: 17
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
@ -361,6 +361,21 @@ 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
|
||||
```
|
||||
|
||||
### -url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead.
|
||||
URL of Snipeit system.
|
||||
|
|
@ -371,7 +386,7 @@ Parameter Sets: (All)
|
|||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: 20
|
||||
Position: 21
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue