mirror of
https://github.com/snazy2000/SnipeitPS.git
synced 2025-12-14 18:32:29 +00:00
Compare commits
8 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d14244d727 | ||
|
|
fadfa2d797 | ||
|
|
3a5d951cb9 | ||
|
|
7582b0fa1a | ||
|
|
381b6e3586 | ||
|
|
79b94981ec | ||
|
|
6b3bc0f459 | ||
|
|
4a889cfb44 |
16 changed files with 404 additions and 4 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",
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -47,6 +47,9 @@
|
|||
.PARAMETER manager_id
|
||||
ID number of manager
|
||||
|
||||
.PARAMETER groups
|
||||
ID numbers of groups
|
||||
|
||||
.PARAMETER employee_num
|
||||
Employeenumber
|
||||
|
||||
|
|
@ -110,6 +113,8 @@ function Set-SnipeitUser() {
|
|||
|
||||
[Nullable[System.Int32]]$manager_id,
|
||||
|
||||
[int[]]$groups,
|
||||
|
||||
[string]$employee_num,
|
||||
|
||||
[bool]$activated,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue