Compare commits

...

76 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
Petri Asikainen
26ae35d1bd
Fix/#239 : New-SnipeitModel make fieldset_id optional
Fix/#239 : New-SnipeitModel make fieldset_id optional
2021-10-27 14:27:34 +03:00
Petri Asikainen
2a6d62bff5
Merge pull request #240 from PetriAsi/fix/#239
Fix/#239 : New-SnipeitModel make fieldset_id optional
2021-10-27 14:14:25 +03:00
Petri Asikainen
dd2bf7371e updated docs 2021-10-27 14:11:27 +03:00
Petri Asikainen
612d08c5d3 make fieldsetid optional 2021-10-27 14:08:34 +03:00
Petri Asikainen
d224f97d73
Merge pull request #236 from snazy2000/develop
Fixed #234 , keep id parameter for recursive calls
2021-10-18 20:55:00 +03:00
Petri Asikainen
0f7e6b3fc6
Merge pull request #235 from PetriAsi/fix/#234
Fixes #234 : keep id parameter for recursive calls
2021-10-18 20:52:42 +03:00
Petri Asikainen
10e87b48cc keep id parameter for recursive calls 2021-10-18 20:50:47 +03:00
Petri Asikainen
b5fe626f6c
Merge pull request #229 from snazy2000/develop
Fixed #227
2021-09-14 06:58:28 +03:00
Petri Asikainen
b90e1a94ea
Merge pull request #228 from PetriAsi/fix/get-snipeitfiedset-typo#227
fix typo #277
2021-09-14 06:57:26 +03:00
Petri Asikainen
3f39425a6c fix typo #277 2021-09-14 06:55:44 +03:00
Petri Asikainen
422cf7b32e
Merge pull request #225 from snazy2000/develop
Develop
2021-09-03 19:50:37 +03:00
Petri Asikainen
bc88c6d8cf
Merge pull request #224 from PetriAsi/fix/powershell5.1-combatibility#223
fix powershell 5.1
2021-09-03 19:47:44 +03:00
Petri Asikainen
bc48d74650 fix powershell 5.1 2021-09-03 19:44:43 +03:00
Petri Asikainen
fbef90ee79
Merge pull request #220 from snazy2000/develop
Release 1.10
2021-09-03 16:20:37 +03:00
Petri Asikainen
f4592ae9f2
Merge pull request #221 from PetriAsi/release/v1.10
Release v1.10.x
2021-09-03 16:12:38 +03:00
Petri Asikainen
c81d77962a Version 1.10.x 2021-09-03 16:07:19 +03:00
Petri Asikainen
44fb65ca60
Merge pull request #219 from PetriAsi/fix/content-encoding#218
Fix/content encoding #218 introduced on 1.9 release
2021-09-03 15:56:56 +03:00
Petri Asikainen
8c79c0fe6d fix content encoding 2021-09-03 15:54:55 +03:00
Petri Asikainen
96dc4e0907 update readme 2021-09-03 15:54:36 +03:00
Petri Asikainen
0c72cb5155
Merge pull request #216 from PetriAsi/feature/connect-snipeit
Feature/connect snipeit
2021-08-23 23:04:42 +03:00
Petri Asikainen
afeb8df60e updated docs 2021-08-23 21:59:24 +03:00
Petri Asikainen
69faba1856 updates docs 2021-08-23 18:50:13 +03:00
Petri Asikainen
88a94115b1 Fix broken get parameters 2021-08-23 18:39:32 +03:00
Petri Asikainen
923838e15f begin, process, end 2021-08-23 18:01:09 +03:00
Petri Asikainen
3446a885dc Deprecate url and apikey parameters from functions 2021-08-23 17:12:29 +03:00
Petri Asikainen
bc0b266339 Renamed helper funtions 2021-08-22 22:23:08 +03:00
Petri Asikainen
e934d20ced Keep it simple ... 2021-08-22 22:09:34 +03:00
Petri Asikainen
64d4d4f55d Merge branch 'develop' of github.com:snazy2000/SnipeitPS into feature/connect-snipeit 2021-08-20 23:53:02 +03:00
Petri Asikainen
7022b9fc3b
Merge pull request #215 from snazy2000/develop
Fix Set-SnipeitUser -username parameter case.
2021-08-20 18:48:56 +03:00
Petri Asikainen
6e1d7ebdb5
Merge pull request #214 from PetriAsi/fix/set-snipeituser#213
fix parameter case
2021-08-20 18:45:36 +03:00
Petri Asikainen
0a227795ed fix parameter case 2021-08-20 18:41:10 +03:00
Petri Asikainen
721e6c5e3a
Merge pull request #212 from snazy2000/develop
Fix get commands
2021-08-18 10:20:15 +03:00
Petri Asikainen
7a83c09370
Merge pull request #211 from PetriAsi/fix/invoke-snipeit-method#210
return null when result count is 0
2021-08-18 10:15:18 +03:00
Petri Asikainen
e43e09b752 return null result cont is 0 2021-08-18 10:13:11 +03:00
Petri Asikainen
0acba743d8 use correct function 2021-08-18 10:04:41 +03:00
Petri Asikainen
b85a653794 Merge branch 'develop' of github.com:snazy2000/SnipeitPS into feature/connect-snipeit 2021-08-15 19:41:01 +03:00
Petri Asikainen
ed080618a7 Use new connect method 2021-08-02 08:14:38 +03:00
Petri Asikainen
0afd33368b new Connect-SnipeitPS command 2021-08-02 08:13:25 +03:00
Petri Asikainen
4c0b9b0e85 new Connect-SnipeitPS command 2021-08-02 08:12:53 +03:00
Petri Asikainen
7b2cffda28 Make url and apikey optional 2021-07-31 22:25:13 +03:00
159 changed files with 4225 additions and 2046 deletions

View file

@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/),
and this project adheres to [Semantic Versioning](http://semver.org/).
# [v.1.10.x] - 2021-09-03
## New secure ways to connect Snipe it
### -secureApiKey allow pass apiKey as SecureString
Connect-SnipeitPS -URL 'https://asset.example.com' -secureApiKey 'tokenKey'
### Set connection with safely saved credentials, first save credentials
$SnipeCred= Get-Credential -message "Use url as username and apikey as password"
$SnipeCred | Export-CliXml snipecred.xml
### ..then use your saved credentials like
Connect-SnipeitPS -siteCred (Import-CliXml snipecred.xml)
## Fix for content encoding in invoke-snipeitmethod
Version 1.9 introduced bug that converted non ascii characters to ascii
during request.
# [v.1.9.x] - 2021-07-14
## Image uploads

View file

@ -19,9 +19,23 @@ Install-Module SnipeitPS
# Check for updates occasionally:
Update-Module SnipeitPS
# To use each session:
# import module to session:
Import-Module SnipeitPS
Set-SnipeitInfo -URL 'https://asset.example.com' -apiKey 'tokenKey'
# Set connection
Connect-SnipeitPS -URL 'https://asset.example.com' -apiKey 'tokenKey'
# Or set connection with safely saved credentials, first save credentials
$SnipeCred =Get-Credential -message "Use url as username and apikey as password"
$SnipeCred | Export-CliXml snipecred.xml
# ..then use your saved credentials like
Connect-SnipeitPS -siteCred (Import-CliXml snipecred.xml)
# OR use -secureApiKey that allow pass apiKey as SecureString
# if you are usin Microsoft.PowerShell.SecretManagement or like
Connect-SnipeitPS -URL 'https://asset.example.com' -secureApiKey 'tokenKey'
```
### Usage

View file

@ -1,31 +1,62 @@
function Invoke-SnipeitMethod {
<#
<#
.SYNOPSIS
Extracted invokation of the REST method to own function.
#>
Make api request to Snipe it
.PARAMETER Api
Api part of url. prefix with slash ie. "/api/v1/hardware"
.PARAMETER Method
Method of the invokation, one of following "GET", "POST", "PUT", "PATCH" or "DELETE"
.PARAMETER Body
Request body as hashtable. Needed for post, put and patch
.PARAMETER GetParameters
Get-Parameters as hastable.
#>
function Invoke-SnipeitMethod {
[OutputType(
[PSObject]
)]
param (
# REST API to invoke
[Parameter(Mandatory = $true)]
[Uri]$URi,
# Method of the invokation
param (
[Parameter(Mandatory = $true)]
[string]$Api,
[ValidateSet("GET", "POST", "PUT", "PATCH", "DELETE")]
[string]$Method = "GET",
# Body of the request
[Hashtable]$Body,
[string] $Token,
# GET Parameters
[Hashtable]$GetParameters
)
BEGIN {
#use legacy per command based url and apikey
if ( $null -ne $SnipeitPSSession.legacyUrl -and $null -ne $SnipeitPSSession.legacyApiKey ) {
[string]$Url = $SnipeitPSSession.legacyUrl
Write-Debug "Invoke-SnipeitMethod url: $Url"
if($PSVersionTable.PSVersion -ge '7.0'){
$Token = ConvertFrom-SecureString -AsPlainText -SecureString $SnipeitPSSession.legacyApiKey
} else {
#convert to plaintext via credential
$Token = (New-Object PSCredential "user",$SnipeitPSSession.legacyApiKey).GetNetworkCredential().Password
}
} elseif ($null -ne $SnipeitPSSession.url -and $null -ne $SnipeitPSSession.apiKey) {
[string]$Url = $SnipeitPSSession.url
Write-Debug "Invoke-SnipeitMethod url: $Url"
if($PSVersionTable.PSVersion -ge '7.0'){
$Token = ConvertFrom-SecureString -AsPlainText -SecureString $SnipeitPSSession.apiKey
} else {
#convert to plaintext via credential
$Token = (New-Object PSCredential "user",$SnipeitPSSession.apiKey).GetNetworkCredential().Password
}
} else {
throw "Please use Connect-SnipeitPS to setup connection before any other commands."
}
# Validation of parameters
if (($Method -in ("POST", "PUT", "PATCH")) -and (!($Body))) {
$message = "The following parameters are required when using the ${Method} parameter: Body."
@ -33,35 +64,36 @@
Throw $exception
}
#Build request uri
$apiUri = "$Url$Api"
#To support images "image" property have be handled before this
$_headers = @{
"Authorization" = "Bearer $($token)"
"Authorization" = "Bearer $($Token)"
'Content-Type' = 'application/json; charset=utf-8'
"Accept" = "application/json"
}
}
Process {
if ($GetParameters -and ($URi -notlike "*\?*"))
{
# This can be done using $Body, maybe some day - PetriAsi
if ($GetParameters -and ($apiUri -notlike "*\?*")){
Write-Debug "Using `$GetParameters: $($GetParameters | Out-String)"
[string]$URI += (ConvertTo-GetParameter $GetParameters)
[string]$apiUri = $apiUri + (ConvertTo-GetParameter $GetParameters)
# Prevent recursive appends
$GetParameters = $null
}
# set mandatory parameters
$splatParameters = @{
Uri = $URi
Uri = $apiUri
Method = $Method
Headers = $_headers
UseBasicParsing = $true
ErrorAction = 'SilentlyContinue'
}
# Place holder for intended image manipulation
# if and when snipe it API gets support for images
# Send image requests as multipart/form-data if supported
if($null -ne $body -and $Body.Keys -contains 'image' ){
if($PSVersionTable.PSVersion -ge '7.0'){
$Body['image'] = get-item $body['image']
@ -71,21 +103,73 @@
$splatParameters["Method"] = 'POST'
$splatParameters["Form"] = $Body
} else {
# use base64 encoded images for powershell version < 7
Add-Type -AssemblyName "System.Web"
$mimetype = [System.Web.MimeMapping]::GetMimeMapping($body['image'])
$Body['image'] = 'data:@'+$mimetype+';base64,'+[Convert]::ToBase64String([IO.File]::ReadAllBytes($Body['image']))
# use base64 encoded images for powershell version < 7
Add-Type -AssemblyName "System.Web"
$mimetype = [System.Web.MimeMapping]::GetMimeMapping($body['image'])
$Body['image'] = 'data:@'+$mimetype+';base64,'+[Convert]::ToBase64String([IO.File]::ReadAllBytes($Body['image']))
}
}
if ($Body -and $splatParameters.Keys -notcontains 'Form') {
$splatParameters["Body"] = $Body | Convertto-Json
$splatParameters["Body"] = [System.Text.Encoding]::UTF8.GetBytes(($Body | Convertto-Json))
}
$script:PSDefaultParameterValues = $global:PSDefaultParameterValues
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"
@ -105,18 +189,20 @@
if ($webResponse) {
Write-Verbose $webResponse
# API returned a Content: lets work wit it
# API returned a Content: lets work with it
try{
if ($webResponse.status -eq "error") {
Write-Verbose "[$($MyInvocation.MyCommand.Name)] An error response was received from; resolving"
Write-Verbose "[$($MyInvocation.MyCommand.Name)] An error response was received ... resolving"
# This could be handled nicely in an function such as:
# ResolveError $response -WriteError
Write-Error $($webResponse.messages | Out-String)
}
else {
} 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){
if ($webResponse.payload) {
$result = $webResponse.payload
}
#Search operations return rows
@ -124,9 +210,13 @@
$result = $webResponse.rows
}
#Remove operations returns status and message
elseif ($webResponse.status -eq 'success'){
elseif ($webResponse.status -eq 'success') {
$result = $webResponse.payload
}
#Search and query result with no results
elseif ($webResponse.total -eq 0){
$result = $null
}
#get operations with id returns just one object
else {
$result = $webResponse
@ -136,9 +226,6 @@
Write-Verbose "Messages: $($webResponse.messages)"
$result
}
}
catch {
@ -147,7 +234,7 @@
}
elseif ($webResponse.StatusCode -eq "Unauthorized") {
Write-Error "[$($MyInvocation.MyCommand.Name)] You are not Authorized to access the resource, check your token is correct"
Write-Error "[$($MyInvocation.MyCommand.Name)] You are not Authorized to access the resource, check your apiKey is correct"
}
else {
# No content, although statusCode < 400
@ -165,3 +252,4 @@
Write-Verbose "[$($MyInvocation.MyCommand.Name)] Function ended"
}
}

View file

@ -0,0 +1,16 @@
function Reset-SnipeitPSLegacyApi {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
param(
)
process {
Write-Verbose 'Reset-SnipeitPSLegacyApi'
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$SnipeitPSSession.legacyUrl = $null
$SnipeitPSSession.legacyApiKey = $null
}
}
}

View file

@ -0,0 +1,18 @@
function Set-SnipeitPSLegacyApiKey {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
param(
[string]$apiKey
)
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if($PSVersionTable.PSVersion -ge '7.0'){
$SnipeitPSSession.legacyApiKey = ConvertTo-SecureString -AsPlainText -String $apiKey
} else {
$SnipeitPSSession.legacyApiKey = ConvertTo-SecureString -Force -AsPlainText -String $apiKey
}
}
}
}

View file

@ -0,0 +1,14 @@
function Set-SnipeitPSLegacyUrl {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
param(
$url
)
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$SnipeitPSSession.legacyUrl = $url.TrimEnd('/')
}
}
}

View file

@ -0,0 +1,18 @@
function Test-SnipeitPSConnection {
#test api connection
$Parameters = @{
Api = '/api/v1/statuslabels'
Method = 'Get'
GetParameters = @{'limit'=1}
}
Write-Verbose "Testing connection to $($SnipeitPSSession.url)."
$contest = Invoke-SnipeitMethod @Parameters
if ( $contest) {
Write-Verbose "Connection to $($SnipeitPSSession.url) tested succesfully."
return $true
} else {
return $false
}
}

View file

@ -0,0 +1,149 @@
<#
.SYNOPSIS
Sets authetication information
.DESCRIPTION
Sets apikey and url to connect Snipe-It system.
Based on Set-SnipeitInfo command, what is now just compatibility wrapper
and calls Connect-SnipeitPS
.PARAMETER url
URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit.
.PARAMETER secureApiKey
Snipe it Api key as securestring
.PARAMETER siteCred
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.
.EXAMPLE
Connect-SnipeitPS -Url $url -SecureApiKey $myapikey
Connects to Snipe it api with apikey stored to securestring
.EXAMPLE
Connect-SnipeitPS -siteCred (Get-Credential -message "Use site url as username and apikey as password")
Connect to Snipe It with PSCredential object.
To use saved creadentials yu can use export-clixml and import-clixml commandlets.
.EXAMPLE
Build credential with apikey value from secret vault (Microsoft.PowerShell.SecretManagement)
$siteurl = "https://mysnipeitsite.url"
$apikey = Get-SecretInfo -Name SnipeItApiKey
$siteCred = New-Object -Type PSCredential -Argumentlist $siteurl,$spikey
Connect-SnipeitPS -siteCred $siteCred
#>
function Connect-SnipeitPS {
[CmdletBinding(
DefaultParameterSetName = 'Connect with url and apikey'
)]
[System.Diagnostics.CodeAnalysis.SuppressMessage('PSUseShouldProcessForStateChangingFunctions', '')]
param (
[Parameter(ParameterSetName='Connect with url and apikey',Mandatory=$true)]
[Parameter(ParameterSetName='Connect with url and secure apikey',Mandatory=$true)]
[Uri]$url,
[Parameter(ParameterSetName='Connect with url and apikey',Mandatory=$true)]
[String]$apiKey,
[Parameter(ParameterSetName='Connect with url and secure apikey',Mandatory=$true)]
[SecureString]$secureApiKey,
[Parameter(ParameterSetName='Connect with credential',Mandatory=$true)]
[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
)
PROCESS {
switch ($PsCmdlet.ParameterSetName) {
'Connect with url and apikey' {
$SnipeitPSSession.url = $url.AbsoluteUri.TrimEnd('/')
if($PSVersionTable.PSVersion -ge '7.0'){
$SnipeitPSSession.apiKey = ConvertTo-SecureString -AsPlainText -String $apiKey
} else {
$SnipeitPSSession.apiKey = ConvertTo-SecureString -String $apiKey -AsPlainText -Force
}
}
'Connect with url and secure apikey' {
$SnipeitPSSession.url = $url.AbsoluteUri.TrimEnd('/')
$SnipeitPSSession.apiKey = $secureApiKey
}
'Connect with credential' {
$SnipeitPSSession.url = ($siteCred.GetNetworkCredential().UserName).TrimEnd('/')
$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)"
if (-not (Test-SnipeitPSConnection)) {
throw "Cannot verify connection to snipe it. For the start try to check url and provided apikey or credential parameters"
}
}
}

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
@ -21,10 +36,10 @@ Result offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitAccessory -search Keyboard
@ -79,47 +94,67 @@ function Get-SnipeitAccessory() {
[parameter(ParameterSetName='Accessories checked out to user id')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
switch($PsCmdlet.ParameterSetName) {
'Search' {$apiurl = "$url/api/v1/accessories"}
'Get by ID' {$apiurl= "$url/api/v1/accessories/$id"}
'Accessories checked out to user id' {$apiurl = "$url/api/v1/users/$user_id/accessories"}
}
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Uri = $apiurl
Method = 'Get'
GetParameters = $SearchParameter
Token = $apiKey
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitAccessory @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
switch($PsCmdlet.ParameterSetName) {
'Search' {$api = "/api/v1/accessories"}
'Get by ID' {$api= "/api/v1/accessories/$id"}
'Accessories checked out to user id' {$api = "/api/v1/users/$user_id/accessories"}
}
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitAccessory @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

View file

@ -8,16 +8,15 @@
Unique ID For accessory to list
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Get-SnipeitAccessoryOwner -id 1
#>
function Get-SnipeitAccessoryOwner()
{
function Get-SnipeitAccessoryOwner() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -27,23 +26,39 @@ function Get-SnipeitAccessoryOwner()
[parameter(mandatory = $true)]
[int]$id,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
$Parameters = @{
Api = "/api/v1/accessories/$id/checkedout"
Method = 'GET'
}
$Parameters = @{
Uri = "$url/api/v1/accessories/$id/checkedout"
Method = 'GET'
Token = $apiKey
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
return $result
}

View file

@ -30,10 +30,10 @@ Result offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitAccessory -search Keyboard
@ -71,51 +71,70 @@ function Get-SnipeitActivity() {
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
if(($target_type -and -not $target_id) -or
($target_id -and -not $target_type)) {
throw "Please specify both target_type and target_id"
}
if(($item_type -and -not $item_id) -or
($item_id -and -not $item_type)) {
throw "Please specify both item_type and item_id"
}
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Uri = "$url/api/v1/reports/activity"
Method = 'Get'
GetParameters = $SearchParameter
Token = $apiKey
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitActivity @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
begin {
if (($target_type -and -not $target_id) -or
($target_id -and -not $target_type)) {
throw "Please specify both target_type and target_id"
}
if (($item_type -and -not $item_id) -or
($item_id -and -not $item_type)) {
throw "Please specify both item_type and item_id"
}
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Api = "/api/v1/reports/activity"
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitActivity @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -60,13 +79,13 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitAsset -all -url "https://assets.example.com"-token "token..."
Get-SnipeitAsset -all
Returens all assets
.EXAMPLE
@ -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')]
@ -199,56 +224,84 @@ function Get-SnipeitAsset() {
[parameter(ParameterSetName='Assets with component id')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
switch ($PsCmdlet.ParameterSetName) {
'Search' { $apiurl = "$url/api/v1/hardware" }
'Get with id' {$apiurl= "$url/api/v1/hardware/$id"}
'Get with asset tag' {$apiurl= "$url/api/v1/hardware/bytag/$asset_tag"}
'Get with serial' { $apiurl= "$url/api/v1/hardware/byserial/$serial"}
'Assets due auditing soon' {$apiurl = "$url/api/v1/hardware/audit/due"}
'Assets overdue for auditing' {$apiurl = "$url/api/v1/hardware/audit/overdue"}
'Assets checked out to user id'{$apiurl = "$url/api/v1/users/$user_id/assets"}
'Assets with component id' {$apiurl = "$url/api/v1/components/$component_id/assets"}
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
GetParameters = $SearchParameter
Token = $apiKey
}
if ($all) {
$offstart = $(if ($offset){$offset} Else {0})
$callargs = $SearchParameter
Write-Verbose "Callargs: $($callargs | convertto-json)"
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitAsset @callargs
$res
if ( $res.count -lt $limit) {
break
# 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)
}
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
switch ($PsCmdlet.ParameterSetName) {
'Search' { $api = "/api/v1/hardware" }
'Get with id' {$api= "/api/v1/hardware/$id"}
'Get with asset tag' {$api= "/api/v1/hardware/bytag/$asset_tag"}
'Get with serial' { $api= "/api/v1/hardware/byserial/$serial"}
'Assets due auditing soon' {$api = "/api/v1/hardware/audit/due"}
'Assets overdue for auditing' {$api = "/api/v1/hardware/audit/overdue"}
'Assets checked out to user id'{$api = "/api/v1/users/$user_id/assets"}
'Assets with component id' {$api = "/api/v1/components/$component_id/assets"}
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
Write-Verbose "Callargs: $($callargs | convertto-json)"
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitAsset @callargs
$res
if ( $res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -24,19 +24,18 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitAssetMaintenances -url "https://assets.example.com" -token "token..."
Get-SnipeitAssetMaintenances
.EXAMPLE
Get-SnipeitAssetMaintenances -search "myMachine"
.EXAMPLE
Get-SnipeitAssetMaintenances -search "myMachine" -url "https://assets.example.com" -token "token..."
.EXAMPLE
Get-SnipeitAssetMaintenances -search "myMachine" -url "https://assets.example.com" -token "token..."
Get-SnipeitAssetMaintenances -search "myMachine"
#>
function Get-SnipeitAssetMaintenance() {
Param(
@ -55,42 +54,61 @@ function Get-SnipeitAssetMaintenance() {
[int]$offset,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Api = "/api/v1/maintenances"
Method = 'Get'
GetParameters = $SearchParameter
}
$Parameters = @{
Uri = "$url/api/v1/maintenances"
Method = 'Get'
GetParameters = $SearchParameter
Token = $apiKey
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitAssetMaintenance @callargs
$res
if ($res.count -lt $limit) {
break
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitAssetMaintenance @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
$offstart = $offstart + $limit
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -18,10 +21,10 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
Url of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Url of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitCategory -id 1
@ -31,8 +34,7 @@ Get-SnipeitCategory -search "Laptop"
#>
function Get-SnipeitCategory()
{
function Get-SnipeitCategory() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -41,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",
@ -54,50 +59,70 @@ function Get-SnipeitCategory()
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$apiurl = "$url/api/v1/categories"
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
$api = "/api/v1/categories"
if ($id) {
$apiurl= "$url/api/v1/categories/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitCategory @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/categories/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitCategory @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -17,10 +20,10 @@ Offset to use
.PARAMETER all
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitCompany
@ -32,8 +35,7 @@ Gets specific company
#>
function Get-SnipeitCompany()
{
function Get-SnipeitCompany() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -42,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",
@ -55,51 +60,70 @@ function Get-SnipeitCompany()
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory=$true)]
[parameter(mandatory=$false)]
[string]$url,
[parameter(mandatory=$true)]
[parameter(mandatory=$false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$apiurl = "$url/api/v1/companies"
$api = "/api/v1/companies"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/companies/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitCompany @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/companies/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitCompany @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -18,10 +30,10 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system,can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitComponent
@ -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,
@ -71,51 +86,71 @@ function Get-SnipeitComponent() {
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$apiurl = "$url/api/v1/components"
$api = "/api/v1/components"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/components/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitComponent @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/components/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitComponent @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -36,10 +39,10 @@ Offset to use
A return all results
.PARAMETER url
URL of Snipeit system,can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitConsumable -all
@ -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,
@ -96,29 +102,38 @@ function Get-SnipeitConsumable() {
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
switch ($PSCmdlet.ParameterSetName) {
'Search' {
$Parameters = @{
Uri = "$url/api/v1/consumables"
Api = "/api/v1/consumables"
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
@ -141,16 +156,23 @@ function Get-SnipeitConsumable() {
'Get with ID' {
foreach($consumable_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/consumables/$consumable_id"
Api = "$url/api/v1/consumables/$consumable_id"
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,44 +6,67 @@
A id of specific field
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitCustomField -url "https://assets.example.com" -token "token..."
Get-SnipeitCustomField
Get all custom fields
.EXAMPLE
Get-SnipeitCustomField -id 1
Get custom field with ID 1
#>
function Get-SnipeitCustomField()
{
function Get-SnipeitCustomField() {
Param(
[int]$id,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
if ($id) {
$apiurl= "$url/api/v1/fields/$id"
} else {
$apiurl = "$url/api/v1/fields"
if ($id) {
$api= "/api/v1/fields/$id"
} else {
$api = "/api/v1/fields"
}
$Parameters = @{
Api = $api
Method = 'Get'
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
process {
$result = Invoke-SnipeitMethod @Parameters
$result
}
$result = Invoke-SnipeitMethod @Parameters
$result
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

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
@ -18,13 +30,13 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitDepartment -url "https://assets.example.com" -token "token..."
Get-SnipeitDepartment
.EXAMPLE
Get-SnipeitDepartment -search Department1
@ -34,8 +46,7 @@ Get-SnipeitDepartment -id 1
#>
function Get-SnipeitDepartment()
{
function Get-SnipeitDepartment() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -44,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",
@ -61,52 +84,71 @@ function Get-SnipeitDepartment()
[ValidateSet('id', 'name', 'image', 'users_count', 'created_at')]
[string]$sort = "created_at",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$apiurl = "$url/api/v1/departments"
$api = "/api/v1/departments"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/departments/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitDepartment @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/departments/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitDepartment @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

View file

@ -6,16 +6,18 @@ Returns a fieldset or list of Snipe-it Fieldsets
A id of specific fieldset
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitFieldset -url "https://assets.example.com" -token "token..."
Get-SnipeitFieldset
Get all fieldsets
.EXAMPLE
Get-SnipeitFieldset -url "https://assets.example.com" -token "token..." | Where-Object {$_.name -eq "Windows" }
Get-SnipeitFieldset | Where-Object {$_.name -eq "Windows" }
Gets fieldset by name
#>
@ -23,28 +25,45 @@ function Get-SnipeitFieldset() {
Param(
[int]$id,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
if ($id) {
$api = "/api/v1/fieldsets/$id"
} else {
$api = "/api/v1/fieldsets"
}
if ($id) {
$apiurl = "$url/api/v1/fieldsets/$id"
} else {
$apiurl = "$url/api/v1/fieldsets"
$Parameters = @{
Api = $api
Method = 'Get'
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
$result = Invoke-SnipeitMethod @Parameters
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
$result = Invoke-SnipeitMethod @Parameters
$result
}

View file

@ -19,10 +19,10 @@ A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitLicense -search SomeLicense
@ -98,49 +98,68 @@ function Get-SnipeitLicense() {
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
switch($PsCmdlet.ParameterSetName) {
'Search' {$apiurl = "$url/api/v1/licenses"}
'Get with ID' {$apiurl= "$url/api/v1/licenses/$id"}
'Get licenses checked out to user ID' {$apiurl= "$url/api/v1/users/$user_id/licenses"}
'Get licenses checked out to asset ID' {$apiurl= "$url/api/v1/hardware/$asset_id/licenses"}
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitLicense @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
switch($PsCmdlet.ParameterSetName) {
'Search' {$api = "/api/v1/licenses"}
'Get with ID' {$api= "/api/v1/licenses/$id"}
'Get licenses checked out to user ID' {$api= "/api/v1/users/$user_id/licenses"}
'Get licenses checked out to asset ID' {$api= "/api/v1/hardware/$asset_id/licenses"}
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitLicense @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

View file

@ -22,10 +22,10 @@ A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitLicenseSeat -id 1
@ -47,49 +47,68 @@ function Get-SnipeitLicenseSeat() {
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters -DefaultExcludeParameter 'url', 'apiKey', 'Debug', 'Verbose','RequestType'
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$apiurl = "$url/api/v1/licenses/$id/seats"
$api = "/api/v1/licenses/$id/seats"
if ($seat_id) {
$apiurl= "$url/api/v1/licenses/$id/seats/$seat_id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitLicenseSeat @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($seat_id) {
$api= "/api/v1/licenses/$id/seats/$seat_id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitLicenseSeat @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -18,10 +36,10 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitLocation -search Location1
@ -31,8 +49,7 @@ Get-SnipeitLocation -id 3
#>
function Get-SnipeitLocation()
{
function Get-SnipeitLocation() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -41,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",
@ -54,52 +89,71 @@ function Get-SnipeitLocation()
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$api = "/api/v1/locations"
$apiurl = "$url/api/v1/locations"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/locations/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitLocation @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/locations/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitLocation @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -18,10 +21,10 @@
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitManufacturer -search HP
@ -32,8 +35,7 @@
Returns manufacturer with id 3
#>
function Get-SnipeitManufacturer()
{
function Get-SnipeitManufacturer() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -42,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",
@ -55,51 +60,70 @@ function Get-SnipeitManufacturer()
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$api = "/api/v1/manufacturers"
$apiurl = "$url/api/v1/manufacturers"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/manufacturers/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitManufacturer @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/manufacturers/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitManufacturer @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

View file

@ -18,10 +18,10 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitModel -search "DL380"
@ -31,8 +31,7 @@ Get-SnipeitModel -id 1
#>
function Get-SnipeitModel()
{
function Get-SnipeitModel() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -54,51 +53,71 @@ function Get-SnipeitModel()
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$apiurl = "$url/api/v1/models"
$api = "/api/v1/models"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/models/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitModel @callargs
$res
if ($res.count -ne $limit ) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/models/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitModel @callargs
$res
if ($res.count -ne $limit ) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -18,10 +21,10 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitStatus -search "Ready to Deploy"
@ -31,8 +34,7 @@ Get-SnipeitStatus -id 3
#>
function Get-SnipeitStatus()
{
function Get-SnipeitStatus() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -41,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",
@ -54,51 +59,70 @@ function Get-SnipeitStatus()
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$api = "/api/v1/statuslabels"
$apiurl = "$url/api/v1/statuslabels"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/statuslabels/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitStatus @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/statuslabels/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitStatus @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -18,10 +45,10 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitSupplier -search MySupplier
@ -30,8 +57,7 @@ Get-SnipeitSupplier -search MySupplier
Get-SnipeitSupplier -id 2
#>
function Get-SnipeitSupplier()
{
function Get-SnipeitSupplier() {
[CmdletBinding(DefaultParameterSetName = 'Search')]
Param(
[parameter(ParameterSetName='Search')]
@ -44,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,
@ -53,52 +106,71 @@ function Get-SnipeitSupplier()
[parameter(ParameterSetName='Search')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$apiurl = "$url/api/v1/suppliers"
$api = "/api/v1/suppliers"
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$apiurl= "$url/api/v1/suppliers/$id"
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
Token = $apiKey
GetParameters = $SearchParameter
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitSupplier @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
if ($search -and $id ) {
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
}
if ($id) {
$api= "/api/v1/suppliers/$id"
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitSupplier @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

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
@ -24,10 +69,10 @@ Offset to use
A return all results, works with -offset and other parameters
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitUser -search SomeSurname
@ -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",
@ -90,46 +168,65 @@ function Get-SnipeitUser() {
[parameter(ParameterSetName='Get users a specific accessory id has been checked out to')]
[switch]$all = $false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
switch ($PsCmdlet.ParameterSetName) {
'Search' { $apiurl = "$url/api/v1/users"}
'Get with id' {$apiurl= "$url/api/v1/users/$id"}
'Get users a specific accessory id has been checked out to' {$apiurl= "$url/api/v1/accessories/$accessory_id/checkedout"}
}
$Parameters = @{
Uri = $apiurl
Method = 'Get'
GetParameters = $SearchParameter
Token = $apiKey
}
if ($all) {
$offstart = $(if($offset){$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitUser @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
switch ($PsCmdlet.ParameterSetName) {
'Search' { $api = "/api/v1/users"}
'Get with id' {$api= "/api/v1/users/$id"}
'Get users a specific accessory id has been checked out to' {$api= "/api/v1/accessories/$accessory_id/checkedout"}
}
$Parameters = @{
Api = $api
Method = 'Get'
GetParameters = $SearchParameter
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($all) {
$offstart = $(if ($offset) {$offset} Else {0})
$callargs = $SearchParameter
$callargs.Remove('all')
while ($true) {
$callargs['offset'] = $offstart
$callargs['limit'] = $limit
$res=Get-SnipeitUser @callargs
$res
if ($res.count -lt $limit) {
break
}
$offstart = $offstart + $limit
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
} else {
$result = Invoke-SnipeitMethod @Parameters
$result
}
}

View file

@ -57,10 +57,10 @@ Min quantity of the accessory before alert is triggered
Accessory image fileame and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitAccessory -name "Accessory" -qty 3 -category_id 1
@ -109,32 +109,50 @@ function New-SnipeitAccessory() {
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($values['purchase_date']) {
$values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd")
}
if ($values['purchase_date']) {
$values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd")
$Parameters = @{
Api = "/api/v1/accessories"
Method = 'POST'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
$Parameters = @{
Uri = "$url/api/v1/accessories"
Method = 'POST'
Body = $Values
Token = $apiKey
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
$result
}

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
@ -52,10 +56,10 @@ Id of target user , location or asset
Checkout asset when creating to one of following types user, location or asset.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.PARAMETER customfields
Hastable of custom fields and extra fields that need passing through to Snipeit.
@ -74,8 +78,7 @@ New-SnipeitAsset -status_id 1 -model_id 1 -name "Machine1" -customfields = @{ "_
Using customfields when creating asset.
#>
function New-SnipeitAsset()
{
function New-SnipeitAsset() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low",
@ -135,53 +138,71 @@ function New-SnipeitAsset()
[ValidateSet("location","asset","user")]
[string] $checkout_to_type = "user",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey,
[Alias('CustomValues')]
[hashtable] $customfields
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($values['purchase_date']) {
$values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd")
}
if ($customfields)
{
$Values += $customfields
}
#Checkout asset when creating it
if ($PsCmdlet.ParameterSetName -eq 'Checkout asset when creating'){
switch ($checkout_to_type){
'location' { $Values += @{ "assigned_location" = $assigned_id } }
'user' { $Values += @{ "assigned_user" = $assigned_id } }
'asset' { $Values += @{ "assigned_asset" = $assigned_id } }
if ($values['purchase_date']) {
$values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd")
}
#This are not needed for API
if($Values.ContainsKey('assigned_id')){$Values.Remove('assigned_id')}
if($Values.ContainsKey('checkout_to_type')){$Values.Remove('checkout_to_type')}
if ($customfields) {
$Values += $customfields
}
#Checkout asset when creating it
if ($PsCmdlet.ParameterSetName -eq 'Checkout asset when creating') {
switch ($checkout_to_type) {
'location' { $Values += @{ "assigned_location" = $assigned_id } }
'user' { $Values += @{ "assigned_user" = $assigned_id } }
'asset' { $Values += @{ "assigned_asset" = $assigned_id } }
}
#This are not needed for API
if ($Values.ContainsKey('assigned_id')) {$Values.Remove('assigned_id')}
if ($Values.ContainsKey('checkout_to_type')) {$Values.Remove('checkout_to_type')}
}
$Parameters = @{
Api = "/api/v1/hardware"
Method = 'Post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
$Parameters = @{
Uri = "$url/api/v1/hardware"
Method = 'Post'
Body = $Values
Token = $apiKey
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
$result
}

View file

@ -31,10 +31,10 @@ Optional completion date
Optional cost
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitAssetMaintenence -asset_id 1 -supplier_id 1 -title "replace keyboard" -start_date 2021-01-01
@ -70,36 +70,55 @@ function New-SnipeitAssetMaintenance() {
[string]$notes,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($Values['start_date']) {
$Values['start_date'] = $Values['start_date'].ToString("yyyy-MM-dd")
}
if ($Values['start_date']) {
$Values['start_date'] = $Values['start_date'].ToString("yyyy-MM-dd")
if ($Values['completion_date']) {
$Values['completion_date'] = $Values['completion_date'].ToString("yyyy-MM-dd")
}
$Parameters = @{
Api = "/api/v1/maintenances"
Method = 'Post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
if ($Values['completion_date']) {
$Values['completion_date'] = $Values['completion_date'].ToString("yyyy-MM-dd")
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$Parameters = @{
Uri = "$url/api/v1/maintenances"
Method = 'Post'
Body = $Values
Token = $apiKey
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}

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
@ -16,8 +19,7 @@ New-SnipeitAudit -tag 1 -location_id 1
#>
function New-SnipeitAudit()
{
function New-SnipeitAudit() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -29,36 +31,60 @@ function New-SnipeitAudit()
[int]$location_id,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[datetime]$next_audit_date,
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = @{
"location_id" = $location_id
}
$Values = @{
"location_id" = $location_id
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"
Method = 'Post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
if ($PSBoundParameters.ContainsKey('tag'))
{
$Values += @{"asset_tag" = $tag}
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$Parameters = @{
Uri = "$url/api/v1/hardware/audit"
Method = 'Post'
Body = $Values
Token = $apiKey
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
}
$result
}

View file

@ -24,17 +24,16 @@ If switch is present, send email to user on checkin/checkout
Category image filename and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
.EXAMPLE
New-SnipeitCategory -name "Laptops" -category_type asset -url "Snipe-IT URL here..." -apiKey "API key here..."
New-SnipeitCategory -name "Laptops" -category_type asset
#>
function New-SnipeitCategory()
{
function New-SnipeitCategory() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -59,17 +58,17 @@ function New-SnipeitCategory()
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
if($eula_text -and $use_default_eula){
if ($eula_text -and $use_default_eula) {
throw 'Dont use -use_defalt_eula if -eula_text is set'
}
@ -79,17 +78,32 @@ function New-SnipeitCategory()
process {
$Parameters = @{
Uri = "$url/api/v1/categories"
Api = "/api/v1/categories"
Method = 'POST'
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -12,18 +12,17 @@ Comapany name
Company image filename and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
.EXAMPLE
New-SnipeitCompany -name "Acme Company"
#>
function New-SnipeitCompany()
{
function New-SnipeitCompany() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -36,29 +35,47 @@ function New-SnipeitCompany()
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Api = "/api/v1/companies"
Method = 'POST'
Body = $Values
}
$Parameters = @{
Uri = "$url/api/v1/companies"
Method = 'POST'
Body = $Values
Token = $apiKey
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -30,16 +30,15 @@ Cost of item being purchased.
Component image filename and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
.EXAMPLE
An example
New-SnipeitComponent -name 'Display adapter' -catecory_id 3 -qty 10
.NOTES
General notes
#>
function New-SnipeitComponent() {
@ -71,32 +70,51 @@ function New-SnipeitComponent() {
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($Values['purchase_date']) {
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
}
if ($Values['purchase_date']) {
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
$Parameters = @{
Api = "/api/v1/components"
Method = 'POST'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
$Parameters = @{
Uri = "$url/api/v1/components"
Method = 'POST'
Body = $Values
Token = $apiKey
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
$result
}

View file

@ -48,10 +48,10 @@ Item number for the consumable
Consumable Image filename and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
@ -60,8 +60,7 @@ Create consumable with stock count 20 , alert when stock is 5 or lower
#>
function New-SnipeitConsumable()
{
function New-SnipeitConsumable() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -110,10 +109,10 @@ function New-SnipeitConsumable()
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -123,21 +122,36 @@ function New-SnipeitConsumable()
if ($Values['purchase_date']) {
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
}
$Parameters = @{
Api = "/api/v1/consumables"
Method = 'Post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
$Parameters = @{
Uri = "$url/api/v1/consumables"
Method = 'Post'
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -30,17 +30,16 @@
Any additional text you wish to display under the new form field to make it clearer what the gauges should be.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitCustomField -Name "AntivirusInstalled" -Format "BOOLEAN" -HelpText "Is AntiVirus installed on Asset"
#>
function New-SnipeitCustomField()
{
function New-SnipeitCustomField() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -68,10 +67,10 @@ function New-SnipeitCustomField()
[string]$custom_format,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -84,20 +83,33 @@ function New-SnipeitCustomField()
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Uri = "$url/api/v1/fields"
Api = "/api/v1/fields"
Method = 'post'
Body = $Values
Token = $apiKey
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Set-SnipeitPSLegacyUrl -url $url
}
}
process{
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -21,10 +21,10 @@
Department Image filename and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitDepartment -name "Department1" -company_id 1 -localtion_id 1 -manager_id 3
@ -54,28 +54,47 @@ function New-SnipeitDepartment() {
[switch]$image_delete=$false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Api = "/api/v1/departments"
Method = 'POST'
Body = $Values
}
$Parameters = @{
Uri = "$url/api/v1/departments"
Method = 'POST'
Body = $Values
Token = $apiKey
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -57,10 +57,10 @@
Termination date for license.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitLicence -name "License" -seats 3 -company_id 1
@ -117,40 +117,58 @@ function New-SnipeitLicense() {
[datetime]$termination_date,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($Values['expiration_date']) {
$Values['expiration_date'] = $Values['expiration_date'].ToString("yyyy-MM-dd")
}
if ($Values['expiration_date']) {
$Values['expiration_date'] = $Values['expiration_date'].ToString("yyyy-MM-dd")
if ($Values['purchase_date']) {
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
}
if ($Values['termination_date']) {
$Values['termination_date'] = $Values['termination_date'].ToString("yyyy-MM-dd")
}
$Parameters = @{
Api = "/api/v1/licenses"
Method = 'POST'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
if ($Values['purchase_date']) {
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
}
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
if ($Values['termination_date']) {
$Values['termination_date'] = $Values['termination_date'].ToString("yyyy-MM-dd")
$result
}
$Parameters = @{
Uri = "$url/api/v1/licenses"
Method = 'POST'
Body = $Values
Token = $apiKey
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}

View file

@ -42,10 +42,10 @@
Location Image filename and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitLocation -name "Room 1" -address "123 Asset Street" -parent_id 14
@ -86,27 +86,47 @@ function New-SnipeitLocation() {
[switch]$image_delete=$false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Uri = "$url/api/v1/locations"
Method = 'post'
Body = $Values
Token = $apiKey
$Parameters = @{
Api = "/api/v1/locations"
Method = 'post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -15,17 +15,16 @@
Remove current image
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitManufacturer -name "HP"
#>
function New-SnipeitManufacturer()
{
function New-SnipeitManufacturer() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -40,30 +39,47 @@ function New-SnipeitManufacturer()
[switch]$image_delete=$false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = @{
"name" = $Name
$Values = @{
"name" = $Name
}
$Parameters = @{
Api = "/api/v1/manufacturers"
Method = 'post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$Parameters = @{
Uri = "$url/api/v1/manufacturers"
Method = 'post'
Body = $Values
Token = $apiKey
$result
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
$result
}

View file

@ -24,17 +24,16 @@
Asset model Image filename and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitModel -name "DL380" -manufacturer_id 2 -fieldset_id 2 -category_id 1
#>
function New-SnipeitModel()
{
function New-SnipeitModel() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -54,43 +53,62 @@ function New-SnipeitModel()
[int]$eol,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[int]$fieldset_id,
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = @{
name = $name
category_id = $category_id
manufacturer_id = $manufacturer_id
fieldset_id = $fieldset_id
$Values = @{
name = $name
category_id = $category_id
manufacturer_id = $manufacturer_id
fieldset_id = $fieldset_id
}
if ($PSBoundParameters.ContainsKey('model_number')) { $Values.Add("model_number", $model_number) }
if ($PSBoundParameters.ContainsKey('eol')) { $Values.Add("eol", $eol) }
$Parameters = @{
Api = "/api/v1/models"
Method = 'post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
if ($PSBoundParameters.ContainsKey('model_number')) { $Values.Add("model_number", $model_number) }
if ($PSBoundParameters.ContainsKey('eol')) { $Values.Add("eol", $eol) }
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$Parameters = @{
Uri = "$url/api/v1/models"
Method = 'post'
Body = $Values
Token = $apiKey
$result
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
$result
}

View file

@ -45,10 +45,10 @@
Image file name and path for item
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitDepartment -name "Department1" -company_id 1 -localtion_id 1 -manager_id 3
@ -90,28 +90,47 @@ function New-SnipeitSupplier() {
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Parameters = @{
Api = "/api/v1/suppilers"
Method = 'POST'
Body = $Values
}
$Parameters = @{
Uri = "$url/api/v1/suppilers"
Method = 'POST'
Body = $Values
Token = $apiKey
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -44,6 +44,9 @@
.PARAMETER manager_id
ID number of manager
.PARAMETER groups
ID numbers of groups
.PARAMETER employee_num
Employeenumber
@ -54,10 +57,10 @@
User Image file name and path
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
New-Snipeituser -fist_name It -lastname Snipe -username snipeit -activated $false -company_id 1 -location_id 1 -department_id 1
@ -103,6 +106,8 @@ function New-SnipeitUser() {
[int]$manager_id,
[int[]]$groups,
[string]$employee_num,
[bool]$ldap_import = $false,
@ -110,31 +115,50 @@ function New-SnipeitUser() {
[ValidateScript({Test-Path $_})]
[string]$image,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
if ($password ) {
$Values['password_confirmation'] = $password
}
if ($password ) {
$Values['password_confirmation'] = $password
$Parameters = @{
Api = "/api/v1/users"
Method = 'post'
Body = $Values
}
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
}
$Parameters = @{
Uri = "$url/api/v1/users"
Method = 'post'
Body = $Values
Token = $apiKey
process {
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
$result
}

View file

@ -6,10 +6,10 @@
.PARAMETER ID
Unique ID For accessory to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitAccessory -ID 44 -Verbose
@ -18,37 +18,55 @@
Get-SnipeitAccessory -search needle | Remove-SnipeitAccessory
#>
function Remove-SnipeitAccessory ()
{
function Remove-SnipeitAccessory () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($accessory_id in $id){
foreach($accessory_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/accessories/$accessory_id"
Api = "/api/v1/accessories/$accessory_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,10 +6,10 @@
.PARAMETER ID
Unique ID For Asset to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitAsset -ID 44 -Verbose
@ -18,38 +18,56 @@
Get-SnipeitAsset -serial 123456789 | Remove-SnipeitAsset
#>
function Remove-SnipeitAsset ()
{
function Remove-SnipeitAsset () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
}
process {
foreach($asset_id in $id){
foreach($asset_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/hardware/$asset_id"
Api = "/api/v1/hardware/$asset_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -1,60 +1,72 @@
<#
.SYNOPSIS
Remove asset maintenance from Snipe-it asset system
.DESCRIPTION
Removes asset maintenance event or events from Snipe-it asset system by ID
.PARAMETER ID
Unique ID of the asset maintenance to be removed
.PARAMETER url
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER url
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitAssetMaintenance -ID 44
#>
function Remove-SnipeitAssetMaintenance {
<#
.SYNOPSIS
Remove asset maintenance from Snipe-it asset system
.DESCRIPTION
Removes asset maintenance event or events from Snipe-it asset system by ID
.PARAMETER ID
Unique ID of the asset maintenance to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfoeItInfo command
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
.EXAMPLE
Remove-SnipeitAssetMaintenance -ID 44 -url $url -apiKey $secret -Verbose
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
param (
# Asset maintenance ID
[Parameter(Mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]
$id,
# Snipeit URL
[Parameter(Mandatory = $true)]
[string]
$url,
[parameter(mandatory = $false)]
[string]$url,
# Snipeit ApiKey
[Parameter(Mandatory = $true)]
[string]
$apiKey
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
}
process {
foreach($maintenance_id in $id){
foreach($maintenance_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/maintenances/$maintenance_id"
Api = "/api/v1/maintenances/$maintenance_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,66 @@
.PARAMETER ID
Unique ID For categoryto be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitCategory -ID 44 -Verbose
Remove-SnipeitCategory -ID 44
.EXAMPLE
Get-SnipeitCategory -search something | Remove-SnipeitCategory
#>
function Remove-SnipeitCategory ()
{
function Remove-SnipeitCategory () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($category_id in $id){
foreach($category_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/categories/$category_id"
Api = "/api/v1/categories/$category_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,66 @@
.PARAMETER ID
Unique ID For Company to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitCompany -ID 44 -Verbose
Remove-SnipeitCompany -ID 44
.EXAMPLE
Get-SnipeitCompany | | Where-object {$_.name -like '*some*'} | Remove-SnipeitCompany
#>
function Remove-SnipeitCompany ()
{
function Remove-SnipeitCompany () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($company_id in $id){
foreach($company_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/companies/$company_id"
Api = "/api/v1/companies/$company_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,67 @@
.PARAMETER IDs
Unique ID For component to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitComponent -ID 44 -Verbose
Remove-SnipeitComponent -ID 44
.EXAMPLE
Get-SnipeitComponent -search 123456789 | Remove-SnipeitComponent
#>
function Remove-SnipeitComponent ()
{
function Remove-SnipeitComponent () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($component_id in $id){
foreach($component_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/components/$component_id"
Api = "/api/v1/components/$component_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -7,49 +7,67 @@
Unique ID For consumable to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitConsumable -ID 44 -Verbose
Remove-SnipeitConsumable -ID 44
.EXAMPLE
Get-SnipeitConsumable -search "paper" | Remove-Snipeitconsumable
Get-SnipeitConsumable -search "paper" | Remove-SnipeitConsumable
#>
function Remove-SnipeitConsumable ()
{
function Remove-SnipeitConsumable () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($consumable_id in $id){
foreach($consumable_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/consumables/$consumable_id"
Api = "/api/v1/consumables/$consumable_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,10 +6,10 @@
.PARAMETER ID
Unique ID For field to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitCustomField -ID 44 -Verbose
@ -18,37 +18,53 @@
Get-SnipeitCustomField | Where-object {$_.name -like '*address*'} | Remove-SnipeitCustomField
#>
function Remove-SnipeitCustomField ()
{
function Remove-SnipeitCustomField () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($field_id in $id){
foreach($field_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/fields/$field_id"
Api = "/api/v1/fields/$field_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,66 @@
.PARAMETER ID
Unique ID For department to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitDepartment -ID 44 -Verbose
Remove-SnipeitDepartment -ID 44
.EXAMPLE
Get-SnipeitDepartment | Where-object {$_.name -like '*head*'} | Remove-SnipeitDepartment
#>
function Remove-SnipeitDepartment ()
{
function Remove-SnipeitDepartment () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($department_id in $id){
foreach($department_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/departments/$department_id"
Api = "/api/v1/departments/$department_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,67 @@
.PARAMETER ID
Unique ID For licence to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitLicence -ID 44 -Verbose
Remove-SnipeitLicence -ID 44
.EXAMPLE
Get-SnipeitLicence -product_key 123456789 | Remove-SnipeitLicense
#>
function Remove-SnipeitLicense ()
{
function Remove-SnipeitLicense () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($license_id in $id){
foreach($license_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/licenses/$license_id"
Api = "/api/v1/licenses/$license_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,67 @@
.PARAMETER ID
Unique ID For location to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitLocation -ID 44 -Verbose
Remove-SnipeitLocation -ID 44
.EXAMPLE
Get-SnipeitLocation -city Arkham | Remove-SnipeitLocation
#>
function Remove-SnipeitLocation ()
{
function Remove-SnipeitLocation () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($location_id in $id){
foreach($location_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/locations/$asset_id"
Api = "/api/v1/locations/$asset_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,68 @@
.PARAMETER ID
Unique ID For manufacturer to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitManufacturer -ID 44 -Verbose
Remove-SnipeitManufacturer -ID 44
.EXAMPLE
Get-SnipeitManufacturer | Where-object {$_.name -like '*something*'} | Remove-SnipeitManufacturer
#>
function Remove-SnipeitManufacturer ()
{
function Remove-SnipeitManufacturer () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($manufacturer_id in $id){
foreach($manufacturer_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/manufacturers/$manufacturer_id"
Api = "/api/v1/manufacturers/$manufacturer_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,49 +6,67 @@
.PARAMETER ID
Unique ID For Model to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitModel -ID 44 -Verbose
Remove-SnipeitModel -ID 44
.EXAMPLE
Get-SnipeitModel -search needle | Remove-SnipeitModel
#>
function Remove-SnipeitModel ()
{
function Remove-SnipeitModel () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($model_id in $id){
foreach($model_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/models/$model_id"
Api = "/api/v1/models/$model_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -6,10 +6,10 @@
.PARAMETER ID
Unique ID For supplier to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitSupplier -ID 44
@ -18,37 +18,55 @@
Get-SnipeitSupplier | Where-object {$_.name -like '*something*'} | Remove-SnipeitSupplier
#>
function Remove-SnipeitSupplier ()
{
function Remove-SnipeitSupplier () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
}
process {
foreach($suppliers_id in $id){
foreach($suppliers_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/suppliers/$supplier_id"
Api = "/api/v1/suppliers/$supplier_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
$result = Invoke-SnipeitMethod @Parameters
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
$result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -7,31 +7,32 @@
Unique ID For User to be removed
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitUser -ID 44 -url $url -apiKey $secret -Verbose
#>
function Remove-SnipeitUser ()
{
function Remove-SnipeitUser () {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
)]
Param(
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int]$id,
[parameter(mandatory = $true)]
[string]$URL,
[parameter(mandatory = $true)]
[string]$APIKey
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $false)]
[string]$apiKey
)
begin{
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
}
@ -39,17 +40,32 @@ function Remove-SnipeitUser ()
process {
foreach($user_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/users/$user_id"
Api = "/api/v1/users/$user_id"
Method = 'Delete'
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -10,10 +10,10 @@
Use Get-SnipeitAccessoryOwner to find out nooded value
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
To get the accessories_users table for specific accessory id number
@ -25,8 +25,7 @@
Get-SnipeitAccessoryOwner -assigned_pivot_id xxx
#>
function Reset-SnipeitAccessoryOwner()
{
function Reset-SnipeitAccessoryOwner() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -36,24 +35,38 @@ function Reset-SnipeitAccessoryOwner()
[parameter(mandatory = $true)]
[int]$assigned_pivot_id,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
$Parameters = @{
Uri = "$url/api/v1/accessories/$assigned_pivot_id/checkin"
Api = "/api/v1/accessories/$assigned_pivot_id/checkin"
Method = 'Post'
Body = @{}
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
return $result
}

View file

@ -13,17 +13,15 @@
.PARAMETER location_id
Location id to change asset location to
.PARAMETER notes
.PARAMETER note
Notes about checkin
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Remove-SnipeitUser -ID 44 -url $url -apiKey $secret -Verbose
Remove-SnipeitUser -ID 44
#>
function Reset-SnipeitAssetOwner() {
[CmdletBinding(
@ -39,34 +37,48 @@ function Reset-SnipeitAssetOwner() {
[int]$location_id,
[string]$notes,
[string]$note,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
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) }
if ($PSBoundParameters.ContainsKey('status_id')) { $Values.Add("status_id", $status_id) }
$Parameters = @{
Uri = "$url/api/v1/hardware/$id/checkin"
Api = "/api/v1/hardware/$id/checkin"
Method = 'POST'
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
return $result
}

View file

@ -54,11 +54,10 @@ Remove current image
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfoeItInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Set-SnipeitAccessory -id 1 -qty 3
@ -107,10 +106,10 @@ function Set-SnipeitAccessory() {
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -126,20 +125,36 @@ function Set-SnipeitAccessory() {
}
process {
foreach($accessory_id in $id){
foreach($accessory_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/accessories/$accessory_id"
Api = "/api/v1/accessories/$accessory_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -14,16 +14,15 @@
Notes about checkout
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Set-SnipeitAccessoryOwner -id 1 -assigned_id 1 -note "testing check out to user"
#>
function Set-SnipeitAccessoryOwner()
{
function Set-SnipeitAccessoryOwner() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -38,10 +37,10 @@ function Set-SnipeitAccessoryOwner()
[string] $note,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin{
@ -49,20 +48,35 @@ function Set-SnipeitAccessoryOwner()
}
process {
foreach($accessory_id in $id){
foreach($accessory_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/accessories/$accessory_id/checkout"
Api = "/api/v1/accessories/$accessory_id/checkout"
Method = 'POST'
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
return $result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

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
@ -63,10 +69,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.PARAMETER customfields
Hastable of custom fields and extra fields that need passing through to Snipeit
@ -81,8 +87,7 @@
Get-SnipeitAsset -serial 12345678 | Set-SnipeitAsset -notes 'Just updated'
#>
function Set-SnipeitAsset()
{
function Set-SnipeitAsset() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -92,6 +97,9 @@ function Set-SnipeitAsset()
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
[int[]]$id,
[parameter(Mandatory=$false)]
[string]
$asset_tag,
[string]$name,
@ -117,6 +125,9 @@ function Set-SnipeitAsset()
[datetime]$purchase_date,
[parameter(mandatory = $false)]
[int]$supplier_id,
[bool]$requestable,
[bool]$archived,
@ -133,10 +144,10 @@ function Set-SnipeitAsset()
[switch]$image_delete=$false,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey,
[Alias('CustomValues')]
@ -151,28 +162,42 @@ function Set-SnipeitAsset()
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
}
if ($customfields)
{
if ($customfields) {
$Values += $customfields
}
}
process {
foreach($asset_id in $id){
foreach($asset_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/hardware/$asset_id"
Api = "/api/v1/hardware/$asset_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -28,16 +28,15 @@
Optional date to override the checkout time of now
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Set-SnipeitAssetOwner -id 1 -assigned_id 1 -checkout_to_type user -note "testing check out to user"
#>
function Set-SnipeitAssetOwner()
{
function Set-SnipeitAssetOwner() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -61,10 +60,10 @@ function Set-SnipeitAssetOwner()
[datetime]$checkout_at,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -81,33 +80,47 @@ function Set-SnipeitAssetOwner()
$Values['checkout_at'] = $Values['checkout_at'].ToString("yyyy-MM-dd")
}
switch ($checkout_to_type)
{
switch ($checkout_to_type) {
'location' { $Values += @{ "assigned_location" = $assigned_id } }
'user' { $Values += @{ "assigned_user" = $assigned_id } }
'asset' { $Values += @{ "assigned_asset" = $assigned_id } }
}
#This can be removed now
if($Values.ContainsKey('assigned_id')){$Values.Remove('assigned_id')}
if ($Values.ContainsKey('assigned_id')) {$Values.Remove('assigned_id')}
}
process{
foreach($asset_id in $id){
foreach($asset_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/hardware/$asset_id/checkout"
Api = "/api/v1/hardware/$asset_id/checkout"
Method = 'POST'
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
return $result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -30,17 +30,16 @@ Remove current image
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
.EXAMPLE
Set-SnipeitCategory -id 4 -name "Laptops"
#>
function Set-SnipeitCategory()
{
function Set-SnipeitCategory() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -71,10 +70,10 @@ function Set-SnipeitCategory()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -86,20 +85,35 @@ function Set-SnipeitCategory()
}
process {
foreach($category_id in $id){
foreach($category_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/categories/$category_id"
Api = "/api/v1/categories/$category_id"
Method = $RequestType
Body = $values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -21,10 +21,10 @@ Remove current image
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
.EXAMPLE
An example
@ -32,8 +32,7 @@ An example
.NOTES
General notes
#>
function Set-SnipeitCompany()
{
function Set-SnipeitCompany() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -54,10 +53,10 @@ function Set-SnipeitCompany()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -66,20 +65,34 @@ function Set-SnipeitCompany()
}
process{
foreach($company_id in $id){
foreach($company_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/companies/$company_id"
Api = "/api/v1/companies/$company_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -42,19 +42,17 @@ Remove current image
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
.EXAMPLE
An example
Set-SnipeitComponent -id 42 -qty 12
Sets count of component with ID 42 to 12
.NOTES
General notes
#>
function Set-SnipeitComponent()
{
function Set-SnipeitComponent() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -90,10 +88,10 @@ function Set-SnipeitComponent()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
@ -107,20 +105,35 @@ function Set-SnipeitComponent()
}
process {
foreach($component_id in $id){
foreach($component_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/components/$component_id"
Api = "/api/v1/components/$component_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -57,10 +57,10 @@ Remove current image
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
@ -69,8 +69,7 @@ Create consumable with stock count 20 , alert when stock is 5 or lower
#>
function Set-SnipeitConsumable()
{
function Set-SnipeitConsumable() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -129,10 +128,10 @@ function Set-SnipeitConsumable()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -146,20 +145,35 @@ function Set-SnipeitConsumable()
}
process {
foreach($consumable_id in $id ){
foreach($consumable_id in $id ) {
$Parameters = @{
Uri = "$url/api/v1/consumables/$consumable_id"
Api = "/api/v1/consumables/$consumable_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -33,17 +33,16 @@
Http request type to send Snipe IT system. Defaults to Put you could use Patch if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitCustomField -Name "AntivirusInstalled" -Format "BOOLEAN" -HelpText "Is AntiVirus installed on Asset"
#>
function Set-SnipeitCustomField()
{
function Set-SnipeitCustomField() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -75,10 +74,10 @@ function Set-SnipeitCustomField()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Put",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin {
@ -93,19 +92,33 @@ function Set-SnipeitCustomField()
process{
foreach($field_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/fields/$field_id"
Api = "/api/v1/fields/$field_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -30,10 +30,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Set-SnipeitDepartment -id 4 -manager_id 3
@ -68,10 +68,10 @@ function Set-SnipeitDepartment() {
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -83,18 +83,33 @@ function Set-SnipeitDepartment() {
process {
foreach ($department_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/departments/$department_id"
Api = "/api/v1/departments/$department_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -1,14 +1,16 @@
<#
.SYNOPSIS
Sets authetication information
Sets authetication information. Deprecated, use Connect-SnipeitPS instead.
.DESCRIPTION
Set apikey and url user to connect Snipe-It system
Deprecated combatibilty function that Set apikey and url user to connect Snipe-It system.
Please use Connect-SnipeitPS instead.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
User's API Key for Snipeit.
.EXAMPLE
Set-SnipeitInfo -url $url -apiKey -Verbose
@ -17,50 +19,18 @@ function Set-SnipeitInfo {
[CmdletBinding()]
[System.Diagnostics.CodeAnalysis.SuppressMessage('PSUseShouldProcessForStateChangingFunctions', '')]
param (
[parameter(Mandatory=$true)]
[Uri]$url,
[parameter(Mandatory=$true)]
[String]$apiKey
)
BEGIN {
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
function Add-DefaultParameter {
param(
[Parameter(Mandatory = $true)]
[string]$Command,
[Parameter(Mandatory = $true)]
[string]$Parameter,
[Parameter(Mandatory = $true)]
$Value
)
PROCESS {
#Write-Verbose "[$($MyInvocation.MyCommand.Name)] Setting [$command : $parameter] = $value"
# Needs to set both global and module scope for the private functions:
# http://stackoverflow.com/questions/30427110/set-psdefaultparametersvalues-for-use-within-module-scope
$PSDefaultParameterValues["${command}:${parameter}"] = $Value
$global:PSDefaultParameterValues["${command}:${parameter}"] = $Value
}
}
$moduleCommands = Get-Command -Module SnipeitPS -CommandType Function
Write-Warning "Deprecated $($MyInvocation.InvocationName) is still working, please use Connect-SnipeitPS instead."
}
PROCESS {
foreach ($command in $moduleCommands) {
$parameter = "url"
if ($url -and ($command.Parameters.Keys -contains $parameter)) {
Add-DefaultParameter -Command $command -Parameter $parameter -Value ($url.AbsoluteUri.TrimEnd('/'))
}
$parameter = "apiKey"
if ($apiKey -and ($command.Parameters.Keys -contains $parameter)) {
Add-DefaultParameter -Command $command -Parameter $parameter -Value $apiKey
}
}
Connect-SnipeitPS -Url $url -apiKey $apiKey
}
}

View file

@ -63,10 +63,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Set-SnipeitLicence -name "License" -seats 3 -company_id 1
@ -127,10 +127,10 @@ function Set-SnipeitLicense() {
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -154,19 +154,34 @@ function Set-SnipeitLicense() {
}
process {
foreach($license_id in $id){
foreach($license_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/licenses/$license_id"
Api = "/api/v1/licenses/$license_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -20,10 +20,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Set-SnipeitLicenceSeat -ID 1 -seat_id 1 -assigned_id 3
@ -38,8 +38,7 @@
Checkin licence seat id 1 of licence id 1
#>
function Set-SnipeitLicenseSeat()
{
function Set-SnipeitLicenseSeat() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -64,10 +63,10 @@ function Set-SnipeitLicenseSeat()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -78,18 +77,33 @@ function Set-SnipeitLicenseSeat()
process{
foreach($license_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/licenses/$license_id/seats/$seat_id"
Api = "/api/v1/licenses/$license_id/seats/$seat_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
{
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
return $result
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}
}

View file

@ -54,10 +54,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Set-SnipeitLocation -id 123 -name "Some storage" -parent_id 100
@ -105,10 +105,10 @@ function Set-SnipeitLocation() {
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -121,18 +121,34 @@ function Set-SnipeitLocation() {
process{
foreach ($location_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/locations/$location_id"
Api = "/api/v1/locations/$location_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -18,17 +18,16 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitManufacturer -name "HP"
#>
function Set-SnipeitManufacturer()
{
function Set-SnipeitManufacturer() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -46,10 +45,10 @@ function Set-SnipeitManufacturer()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -62,17 +61,33 @@ function Set-SnipeitManufacturer()
process{
foreach ($manufacturer_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/manufacturers/$manufacturer_id"
Api = "/api/v1/manufacturers/$manufacturer_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -33,10 +33,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitModel -name "DL380" -manufacturer_id 2 -fieldset_id 2 -category_id 1
@ -74,10 +74,10 @@ function Set-SnipeitModel() {
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -90,17 +90,33 @@ function Set-SnipeitModel() {
process {
foreach ($model_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/models/$model_id"
Api = "/api/v1/models/$model_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -19,10 +19,10 @@ Hex code showing what color the status label should be on the pie chart in the d
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
Get-SnipeitStatus -search "Ready to Deploy"
@ -32,8 +32,7 @@ Set-SnipeitStatus -id 3 -name 'Waiting for arrival' -type pending
#>
function Set-SnipeitStatus()
{
function Set-SnipeitStatus() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Medium"
@ -59,10 +58,10 @@ function Set-SnipeitStatus()
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -73,16 +72,32 @@ function Set-SnipeitStatus()
process {
foreach($status_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/statuslabels/$status_id"
Api = "/api/v1/statuslabels/$status_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -51,10 +51,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
.EXAMPLE
New-SnipeitDepartment -name "Department1" -company_id 1 -localtion_id 1 -manager_id 3
@ -101,10 +101,10 @@ function Set-SnipeitSupplier() {
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
@ -117,18 +117,34 @@ function Set-SnipeitSupplier() {
process {
foreach ($supplier_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/suppliers/$supplier_id"
Api = "/api/v1/suppliers/$supplier_id"
Method = $RequestType
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -47,6 +47,9 @@
.PARAMETER manager_id
ID number of manager
.PARAMETER groups
ID numbers of groups
.PARAMETER employee_num
Employeenumber
@ -63,10 +66,10 @@
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
.PARAMETER url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
.PARAMETER apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
.EXAMPLE
Update-SnipeitUser -id 3 -fist_name It -lastname Snipe -username snipeit -activated $false -company_id 1 -location_id 1 -department_id 1
@ -92,7 +95,7 @@ function Set-SnipeitUser() {
[string]$last_name,
[ValidateLength(1,256)]
[string]$userName,
[string]$username,
[string]$jobtitle,
@ -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,
@ -124,10 +131,10 @@ function Set-SnipeitUser() {
[ValidateSet("Put","Patch")]
[string]$RequestType = "Patch",
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$url,
[parameter(mandatory = $true)]
[parameter(mandatory = $false)]
[string]$apiKey
)
begin{
@ -144,17 +151,33 @@ function Set-SnipeitUser() {
process{
foreach($user_id in $id) {
$Parameters = @{
Uri = "$url/api/v1/users/$user_id"
Api = "/api/v1/users/$user_id"
Method = 'PATCH'
Body = $Values
Token = $apiKey
}
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyApiKey -apiKey $apikey
}
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url) {
Write-Warning "-url parameter is deprecated, please use Connect-SnipeitPS instead."
Set-SnipeitPSLegacyUrl -url $url
}
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
$result = Invoke-SnipeitMethod @Parameters
}
$result
}
}
end {
# reset legacy sessions
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
Reset-SnipeitPSLegacyApi
}
}
}

View file

@ -15,8 +15,7 @@ Replaces old command from file "your-script.ps1" and creates new script "new-scr
After testing new file you can replace old file with new.
#>
function Update-SnipeitAlias()
{
function Update-SnipeitAlias() {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = "Low"
@ -34,8 +33,8 @@ function Update-SnipeitAlias()
}
process {
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
ForEach ($st in $String){
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
ForEach ($st in $String) {
$result = $st
ForEach ($key in $SnipeitAliases.Keys ) {
#Write-Verbose "Replacing $key with $($SnipeitAliases[$key])"

View file

@ -12,7 +12,7 @@
RootModule = 'SnipeitPS'
# Version number of this module.
ModuleVersion = '1.9'
ModuleVersion = '1.10'
# Supported PSEditions
# CompatiblePSEditions = @()
@ -70,6 +70,7 @@ PowerShellVersion = '5.1'
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @(
'Connect-SnipeitPS',
'Get-SnipeitAccessory',
'Get-SnipeitAccessoryOwner',
'Get-SnipeitActivity',

View file

@ -5,14 +5,22 @@ Powershell API for Snipeit Asset Management
$scriptRoot = $PSScriptRoot + '\Public'
Get-ChildItem $scriptRoot *.ps1 | ForEach-Object {
Import-Module $_.FullName
. $_.FullName
}
$scriptRoot = $PSScriptRoot + '\Private'
Get-ChildItem $scriptRoot *.ps1 | ForEach-Object {
Import-Module $_.FullName
. $_.FullName
}
#Create unprefixed aliases
Set-SnipeitAlias
#Session variable for storing current session information
$SnipeitPSSession = [ordered]@{
'url' = $null
'apiKey' = $null
}
New-Variable -Name SnipeitPSSession -Value $SnipeitPSSession -Scope Script -Force

View file

@ -17,7 +17,7 @@ environment:
secure: UdM6qhf5B0G8liHhUrwWERCZr44iSqmg4jUq0lwlTjZs4KyeoiwnBzdej0phqIAm
PShell: '5'
version: 1.9.{build}
version: 1.10.{build}
# Don't rebuild when I tag a release on GitHub
skip_tags: true

137
docs/Connect-SnipeitPS.md Normal file
View file

@ -0,0 +1,137 @@
---
external help file: SnipeitPS-help.xml
Module Name: SnipeitPS
online version:
schema: 2.0.0
---
# Connect-SnipeitPS
## SYNOPSIS
Sets authetication information
## SYNTAX
### Connect with url and apikey (Default)
```
Connect-SnipeitPS -url <Uri> -apiKey <String> [<CommonParameters>]
```
### Connect with url and secure apikey
```
Connect-SnipeitPS -url <Uri> -secureApiKey <SecureString> [<CommonParameters>]
```
### Connect with credential
```
Connect-SnipeitPS -siteCred <PSCredential> [<CommonParameters>]
```
## DESCRIPTION
Sets apikey and url to connect Snipe-It system.
Based on Set-SnipeitInfo command, what is now just compatibility wrapper
and calls Connect-SnipeitPS
## EXAMPLES
### EXAMPLE 1
```
Connect-SnipeitPS -Url $url -apiKey $myapikey
Connect to Snipe it api.
```
### EXAMPLE 2
```
Connect-SnipeitPS -Url $url -SecureApiKey $myapikey
Connects to Snipe it api with apikey stored to securestring
```
### EXAMPLE 3
```
Connect-SnipeitPS -siteCred (Get-Credential -message "Use site url as username and apikey as password")
Connect to Snipe It with PSCredential object.
To use saved creadentials yu can use export-clixml and import-clixml commandlets.
```
### EXAMPLE 4
```
Build credential with apikey value from secret vault (Microsoft.PowerShell.SecretManagement)
$siteurl = "https://mysnipeitsite.url"
$apikey = Get-SecretInfo -Name SnipeItApiKey
$siteCred = New-Object -Type PSCredential -Argumentlist $siteurl,$spikey
Connect-SnipeitPS -siteCred $siteCred
```
## PARAMETERS
### -apiKey
User's API Key for Snipeit.
```yaml
Type: String
Parameter Sets: Connect with url and apikey
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -secureApiKey
Snipe it Api key as securestring
```yaml
Type: SecureString
Parameter Sets: Connect with url and secure apikey
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -siteCred
PSCredential where username shoul be snipe it url and password should be
snipe it apikey.
```yaml
Type: PSCredential
Parameter Sets: Connect with credential
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -url
URL of Snipeit system.
```yaml
Type: Uri
Parameter Sets: Connect with url and apikey, Connect with url and secure apikey
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
## INPUTS
## OUTPUTS
## NOTES
## RELATED LINKS

View file

@ -16,17 +16,17 @@ Gets a list of Snipe-it Accessories
```
Get-SnipeitAccessory [-search <String>] [-company_id <Int32>] [-category_id <Int32>] [-manufacturer_id <Int32>]
[-supplier_id <Int32>] [-sort <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
-url <String> -apiKey <String> [<CommonParameters>]
[-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get by ID
```
Get-SnipeitAccessory [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitAccessory [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Accessories checked out to user id
```
Get-SnipeitAccessory [-user_id <Int32>] [-all] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitAccessory [-user_id <Int32>] [-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -68,14 +68,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -235,14 +236,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -13,7 +13,7 @@ Get list of checked out accessories
## SYNTAX
```
Get-SnipeitAccessoryOwner [-id] <Int32> [-url] <String> [-apiKey] <String> [-WhatIf] [-Confirm]
Get-SnipeitAccessoryOwner [-id] <Int32> [[-url] <String>] [[-apiKey] <String>] [-WhatIf] [-Confirm]
[<CommonParameters>]
```
@ -30,14 +30,15 @@ Get-SnipeitAccessoryOwner -id 1
## PARAMETERS
### -apiKey
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
User's API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 3
Default value: None
Accept pipeline input: False
@ -60,14 +61,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 2
Default value: None
Accept pipeline input: False

View file

@ -15,7 +15,7 @@ Gets and search Snipe-it Activity history
```
Get-SnipeitActivity [[-search] <String>] [[-target_type] <String>] [[-target_id] <Int32>]
[[-item_type] <String>] [[-item_id] <Int32>] [[-action_type] <String>] [[-limit] <Int32>] [[-offset] <Int32>]
[-all] [-url] <String> [-apiKey] <String> [<CommonParameters>]
[-all] [[-url] <String>] [[-apiKey] <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -67,14 +67,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 10
Default value: None
Accept pipeline input: False
@ -189,14 +190,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 9
Default value: None
Accept pipeline input: False

View file

@ -17,46 +17,46 @@ Gets a list of Snipe-it Assets or specific asset
Get-SnipeitAsset [-search <String>] [-order_number <String>] [-model_id <Int32>] [-category_id <Int32>]
[-manufacturer_id <Int32>] [-company_id <Int32>] [-location_id <Int32>] [-depreciation_id <Int32>]
[-requestable <Boolean>] [-status <String>] [-status_id <Int32>] [-sort <String>] [-order <String>]
[-limit <Int32>] [-offset <Int32>] [-all] -url <String> -apiKey <String> [<CommonParameters>]
[-limit <Int32>] [-offset <Int32>] [-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with id
```
Get-SnipeitAsset [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitAsset [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with asset tag
```
Get-SnipeitAsset [-asset_tag <String>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitAsset [-asset_tag <String>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with serial
```
Get-SnipeitAsset [-serial <String>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitAsset [-serial <String>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Assets due auditing soon
```
Get-SnipeitAsset [-audit_due] [-sort <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
-url <String> -apiKey <String> [<CommonParameters>]
[-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Assets overdue for auditing
```
Get-SnipeitAsset [-audit_overdue] [-sort <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
-url <String> -apiKey <String> [<CommonParameters>]
[-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Assets checked out to user id
```
Get-SnipeitAsset [-user_id <Int32>] [-sort <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>]
[-all] -url <String> -apiKey <String> [<CommonParameters>]
[-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Assets with component id
```
Get-SnipeitAsset [-component_id <Int32>] [-sort <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>]
[-all] -url <String> -apiKey <String> [<CommonParameters>]
[-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -66,7 +66,7 @@ Get-SnipeitAsset [-component_id <Int32>] [-sort <String>] [-order <String>] [-li
### EXAMPLE 1
```
Get-SnipeitAsset -all -url "https://assets.example.com"-token "token..."
Get-SnipeitAsset -all
Returens all assets
```
@ -136,14 +136,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -468,14 +469,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -14,7 +14,7 @@ Lists Snipe-it Assets Maintenances
```
Get-SnipeitAssetMaintenance [[-search] <String>] [[-asset_id] <Int32>] [[-sort] <String>] [[-order] <String>]
[[-limit] <Int32>] [-all] [[-offset] <Int32>] [-url] <String> [-apiKey] <String> [<CommonParameters>]
[[-limit] <Int32>] [-all] [[-offset] <Int32>] [[-url] <String>] [[-apiKey] <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -24,17 +24,17 @@ Get-SnipeitAssetMaintenance [[-search] <String>] [[-asset_id] <Int32>] [[-sort]
### EXAMPLE 1
```
Get-SnipeitAssetMaintenances -url "https://assets.example.com" -token "token..."
Get-SnipeitAssetMaintenances
```
### EXAMPLE 2
```
Get-SnipeitAssetMaintenances -search "myMachine" -url "https://assets.example.com" -token "token..."
Get-SnipeitAssetMaintenances -search "myMachine"
```
### EXAMPLE 3
```
Get-SnipeitAssetMaintenances -search "myMachine" -url "https://assets.example.com" -token "token..."
Get-SnipeitAssetMaintenances -search "myMachine"
```
## PARAMETERS
@ -55,14 +55,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 8
Default value: None
Accept pipeline input: False
@ -162,14 +163,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 7
Default value: None
Accept pipeline input: False

View file

@ -15,12 +15,12 @@ Gets a list of Snipe-it Categories
### Search (Default)
```
Get-SnipeitCategory [-search <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
-url <String> -apiKey <String> [<CommonParameters>]
[-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with ID
```
Get-SnipeitCategory [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitCategory [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -56,14 +56,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -148,14 +149,15 @@ Accept wildcard characters: False
```
### -url
Url of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Url of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -14,13 +14,13 @@ Gets a list of Snipe-it Companies
### Search (Default)
```
Get-SnipeitCompany [-search <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all] -url <String>
-apiKey <String> [<CommonParameters>]
Get-SnipeitCompany [-search <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
[-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with ID
```
Get-SnipeitCompany [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitCompany [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -58,14 +58,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -150,14 +151,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -15,13 +15,13 @@ Gets a list of Snipe-it Components
### Search (Default)
```
Get-SnipeitComponent [-search <String>] [-category_id <Int32>] [-company_id <Int32>] [-location_id <Int32>]
[-order <String>] [-sort <String>] [-limit <Int32>] [-offset <Int32>] [-all] -url <String> -apiKey <String>
[<CommonParameters>]
[-order <String>] [-sort <String>] [-limit <Int32>] [-offset <Int32>] [-all] [-url <String>]
[-apiKey <String>] [<CommonParameters>]
```
### Get with ID
```
Get-SnipeitComponent [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitComponent [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -65,14 +65,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -217,14 +218,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system,can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -16,12 +16,12 @@ Gets a list of Snipe-it consumables
```
Get-SnipeitConsumable [-search <String>] [-category_id <Int32>] [-company_id <Int32>]
[-manufacturer_id <Int32>] [-location_id <Int32>] [-order <String>] [-sort <String>] [-expand]
[-limit <Int32>] [-offset <Int32>] [-all] -url <String> -apiKey <String> [<CommonParameters>]
[-limit <Int32>] [-offset <Int32>] [-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with ID
```
Get-SnipeitConsumable [-id <Int32[]>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitConsumable [-id <Int32[]>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -65,14 +65,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -247,14 +248,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system,can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -13,7 +13,7 @@ Returns specific Snipe-IT custom field or a list of all custom field
## SYNTAX
```
Get-SnipeitCustomField [[-id] <Int32>] [-url] <String> [-apiKey] <String> [<CommonParameters>]
Get-SnipeitCustomField [[-id] <Int32>] [[-url] <String>] [[-apiKey] <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -23,20 +23,28 @@ Get-SnipeitCustomField [[-id] <Int32>] [-url] <String> [-apiKey] <String> [<Comm
### EXAMPLE 1
```
Get-SnipeitCustomField -url "https://assets.example.com" -token "token..."
Get-SnipeitCustomField
Get all custom fields
```
### EXAMPLE 2
```
Get-SnipeitCustomField -id 1
Get custom field with ID 1
```
## PARAMETERS
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 3
Default value: None
Accept pipeline input: False
@ -59,14 +67,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 2
Default value: None
Accept pipeline input: False

View file

@ -15,12 +15,12 @@ Gets a list of Snipe-it Departments
### Search (Default)
```
Get-SnipeitDepartment [-search <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
[-sort <String>] -url <String> -apiKey <String> [<CommonParameters>]
[-sort <String>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with ID
```
Get-SnipeitDepartment [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitDepartment [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -30,7 +30,7 @@ Get-SnipeitDepartment [-id <Int32>] -url <String> -apiKey <String> [<CommonParam
### EXAMPLE 1
```
Get-SnipeitDepartment -url "https://assets.example.com" -token "token..."
Get-SnipeitDepartment
```
### EXAMPLE 2
@ -61,14 +61,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -168,14 +169,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -13,7 +13,7 @@ Returns a fieldset or list of Snipe-it Fieldsets
## SYNTAX
```
Get-SnipeitFieldset [[-id] <Int32>] [-url] <String> [-apiKey] <String> [<CommonParameters>]
Get-SnipeitFieldset [[-id] <Int32>] [[-url] <String>] [[-apiKey] <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -23,25 +23,28 @@ Get-SnipeitFieldset [[-id] <Int32>] [-url] <String> [-apiKey] <String> [<CommonP
### EXAMPLE 1
```
Get-SnipeitFieldset -url "https://assets.example.com" -token "token..."
Get-SnipeitFieldset
Get all fieldsets
```
### EXAMPLE 2
```
Get-SnipeitFieldset -url "https://assets.example.com" -token "token..." | Where-Object {$_.name -eq "Windows" }
Get-SnipeitFieldset | Where-Object {$_.name -eq "Windows" }
Gets fieldset by name
```
## PARAMETERS
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 3
Default value: None
Accept pipeline input: False
@ -64,14 +67,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 2
Default value: None
Accept pipeline input: False

View file

@ -17,23 +17,23 @@ Gets a list of Snipe-it Licenses
Get-SnipeitLicense [-search <String>] [-name <String>] [-company_id <Int32>] [-product_key <String>]
[-order_number <String>] [-purchase_order <String>] [-license_name <String>] [-license_email <MailAddress>]
[-manufacturer_id <Int32>] [-supplier_id <Int32>] [-depreciation_id <Int32>] [-category_id <Int32>]
[-order <String>] [-sort <String>] [-limit <Int32>] [-offset <Int32>] [-all] -url <String> -apiKey <String>
[<CommonParameters>]
[-order <String>] [-sort <String>] [-limit <Int32>] [-offset <Int32>] [-all] [-url <String>]
[-apiKey <String>] [<CommonParameters>]
```
### Get with ID
```
Get-SnipeitLicense [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitLicense [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get licenses checked out to user ID
```
Get-SnipeitLicense [-user_id <Int32>] [-all] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitLicense [-user_id <Int32>] [-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get licenses checked out to asset ID
```
Get-SnipeitLicense [-asset_id <Int32>] [-all] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitLicense [-asset_id <Int32>] [-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -69,14 +69,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -356,14 +357,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

View file

@ -14,7 +14,7 @@ Gets a list of Snipe-it Licenses Seats or specific Seat
```
Get-SnipeitLicenseSeat [-id] <Int32> [[-seat_id] <Int32>] [[-limit] <Int32>] [[-offset] <Int32>] [-all]
[-url] <String> [-apiKey] <String> [<CommonParameters>]
[[-url] <String>] [[-apiKey] <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -45,14 +45,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 6
Default value: None
Accept pipeline input: False
@ -122,14 +123,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: 5
Default value: None
Accept pipeline input: False

View file

@ -15,12 +15,12 @@ Gets a list of Snipe-it Locations
### Search (Default)
```
Get-SnipeitLocation [-search <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
-url <String> -apiKey <String> [<CommonParameters>]
[-url <String>] [-apiKey <String>] [<CommonParameters>]
```
### Get with ID
```
Get-SnipeitLocation [-id <Int32>] -url <String> -apiKey <String> [<CommonParameters>]
Get-SnipeitLocation [-id <Int32>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
```
## DESCRIPTION
@ -56,14 +56,15 @@ Accept wildcard characters: False
```
### -apiKey
Users API Key for Snipeit, can be set using Set-SnipeitInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
Users API Key for Snipeit.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False
@ -148,14 +149,15 @@ Accept wildcard characters: False
```
### -url
URL of Snipeit system, can be set using Set-SnipeitInfoeItInfo command
Deprecated parameter, please use Connect-SnipeitPS instead.
URL of Snipeit system.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Required: False
Position: Named
Default value: None
Accept pipeline input: False

Some files were not shown because too many files have changed in this diff Show more