mirror of
https://github.com/snazy2000/SnipeitPS.git
synced 2025-12-15 18:55:47 +00:00
Compare commits
173 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d14244d727 | ||
|
|
fadfa2d797 | ||
|
|
3a5d951cb9 | ||
|
|
7582b0fa1a | ||
|
|
381b6e3586 | ||
|
|
79b94981ec | ||
|
|
6b3bc0f459 | ||
|
|
4a889cfb44 | ||
|
|
98095b6a53 | ||
|
|
758c5140b6 | ||
|
|
d70f22d5f5 | ||
|
|
5feafa0574 | ||
|
|
72215faf0b | ||
|
|
8af189e95b | ||
|
|
56a4525230 | ||
|
|
32c95f8077 | ||
|
|
cc475abf8c | ||
|
|
f3391bb521 | ||
|
|
5aa6a2eed5 | ||
|
|
452573c9a0 | ||
|
|
72c6ccbd38 | ||
|
|
e321cd3fa1 | ||
|
|
b4c2b51024 | ||
|
|
f26db93a16 | ||
|
|
51cb9f88f5 | ||
|
|
68ae039013 | ||
|
|
9e014ad06b | ||
|
|
7ac8a5c9bd | ||
|
|
e2923cade8 | ||
|
|
e10f520008 | ||
|
|
4e4a739418 | ||
|
|
2f1873497d | ||
|
|
db2fb6278c | ||
|
|
536bff19bb | ||
|
|
ec40912018 | ||
|
|
83e8e43bc2 | ||
|
|
26ae35d1bd | ||
|
|
2a6d62bff5 | ||
|
|
dd2bf7371e | ||
|
|
612d08c5d3 | ||
|
|
d224f97d73 | ||
|
|
0f7e6b3fc6 | ||
|
|
10e87b48cc | ||
|
|
b5fe626f6c | ||
|
|
b90e1a94ea | ||
|
|
3f39425a6c | ||
|
|
422cf7b32e | ||
|
|
bc88c6d8cf | ||
|
|
bc48d74650 | ||
|
|
fbef90ee79 | ||
|
|
f4592ae9f2 | ||
|
|
c81d77962a | ||
|
|
44fb65ca60 | ||
|
|
8c79c0fe6d | ||
|
|
96dc4e0907 | ||
|
|
0c72cb5155 | ||
|
|
afeb8df60e | ||
|
|
69faba1856 | ||
|
|
88a94115b1 | ||
|
|
923838e15f | ||
|
|
3446a885dc | ||
|
|
bc0b266339 | ||
|
|
e934d20ced | ||
|
|
64d4d4f55d | ||
|
|
7022b9fc3b | ||
|
|
6e1d7ebdb5 | ||
|
|
0a227795ed | ||
|
|
721e6c5e3a | ||
|
|
7a83c09370 | ||
|
|
e43e09b752 | ||
|
|
0acba743d8 | ||
|
|
b85a653794 | ||
|
|
2485854729 | ||
|
|
dfe6146d3d | ||
|
|
3bcf47c945 | ||
|
|
ed080618a7 | ||
|
|
0afd33368b | ||
|
|
4c0b9b0e85 | ||
|
|
7b2cffda28 | ||
|
|
cde16b1983 | ||
|
|
52dfdb62f5 | ||
|
|
0acac3a29f | ||
|
|
64902b58b5 | ||
|
|
fab7a71abf | ||
|
|
ae68666bbd | ||
|
|
794589622a | ||
|
|
ec3b9b4972 | ||
|
|
464c9430f7 | ||
|
|
11e087944a | ||
|
|
7f6a5e1244 | ||
|
|
fd2f5c51c7 | ||
|
|
ccce2ab26f | ||
|
|
65f03b0476 | ||
|
|
9f84595e36 | ||
|
|
bab98270fa | ||
|
|
989af1bf88 | ||
|
|
9b356a2b9e | ||
|
|
7871fc3711 | ||
|
|
3ac0bbceb2 | ||
|
|
e8077d5c21 | ||
|
|
9ff9617b38 | ||
|
|
d4b6fc595b | ||
|
|
44a5886f09 | ||
|
|
508e484b17 | ||
|
|
193f3f7f11 | ||
|
|
95839398e9 | ||
|
|
9bfa4173de | ||
|
|
2d7c315424 | ||
|
|
0759f0b6b3 | ||
|
|
6099ab7eea | ||
|
|
d5c25e2bdc | ||
|
|
041c3da73b | ||
|
|
b337608d7b | ||
|
|
64fa3799fe | ||
|
|
9ecf9e7313 | ||
|
|
12d8b76aa6 | ||
|
|
c7c349ca99 | ||
|
|
baabd3eaa8 | ||
|
|
cbb9e13a45 | ||
|
|
6dc704c0fc | ||
|
|
bd21037466 | ||
|
|
6dba0ae2f6 | ||
|
|
7de0a38f9e | ||
|
|
dde27f055e | ||
|
|
b9de3ddaa0 | ||
|
|
208477f269 | ||
|
|
6e8d27e69d | ||
|
|
b78fe104e3 | ||
|
|
45b3bfab33 | ||
|
|
115fd7bd5a | ||
|
|
750d4129fd | ||
|
|
959c679f33 | ||
|
|
bd7d4ce5ff | ||
|
|
14ae8c1922 | ||
|
|
376949498d | ||
|
|
36a9fe3d04 | ||
|
|
d9be192b3e | ||
|
|
2850b82a16 | ||
|
|
28a6ffd05f | ||
|
|
aaeab1cb27 | ||
|
|
c485fcd230 | ||
|
|
da7dd14c4b | ||
|
|
eb3b334e42 | ||
|
|
cbc80dc633 | ||
|
|
fad878460a | ||
|
|
b19aa28e41 | ||
|
|
ec6c96f2c4 | ||
|
|
8ec56d8e7f | ||
|
|
6f267ce94d | ||
|
|
42a6a563ee | ||
|
|
28023285a0 | ||
|
|
6b4bad903b | ||
|
|
42f8776e49 | ||
|
|
53b1560d83 | ||
|
|
9d5c3e7850 | ||
|
|
bb00f1bc5e | ||
|
|
6254b82e3a | ||
|
|
7d6aa54279 | ||
|
|
3a0b1d853a | ||
|
|
e8d52ab59c | ||
|
|
528367cbd6 | ||
|
|
cd86c6749d | ||
|
|
83eb363889 | ||
|
|
dfb271dbec | ||
|
|
1b5e5e5237 | ||
|
|
b35230e3b8 | ||
|
|
621ee76709 | ||
|
|
ac842e3d6a | ||
|
|
b495032167 | ||
|
|
211460cfb6 | ||
|
|
b76d78ec05 | ||
|
|
3c45eceff9 | ||
|
|
d8652d0cba |
163 changed files with 12747 additions and 2023 deletions
32
.github/ISSUE_TEMPLATE.md
vendored
Normal file
32
.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
## Context
|
||||
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
||||
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
||||
|
||||
## Your Environment
|
||||
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
||||
* SnipitPS Module version used:
|
||||
* Operating System and PowerShell version:
|
||||
* Snipe It version:
|
||||
|
||||
## Expected Behavior
|
||||
<!--- If you're describing a bug, tell us what should happen -->
|
||||
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
||||
|
||||
## Current Behavior
|
||||
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
|
||||
<!--- Please add command output with -Verbose and if possible -Debug switches -->
|
||||
|
||||
## Possible Solution
|
||||
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
||||
<!--- or ideas how to implement the addition or change -->
|
||||
|
||||
## Steps to Reproduce (for bugs)
|
||||
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
||||
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
|
||||
|
||||
|
||||
104
CHANGELOG.md
104
CHANGELOG.md
|
|
@ -5,6 +5,110 @@ 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
|
||||
|
||||
## New features
|
||||
Support for image upload and removes. Just specify filename for -image para-
|
||||
meter when creating or updating item on snipe.
|
||||
Remove image use -image_delete parameter.
|
||||
|
||||
*Snipe It version greater than 5.1.8 is needed to support image parameters.*
|
||||
|
||||
Most of set-commands have new -RequestType parameter that defaults to Patch.
|
||||
If needed request method can be changed from default.
|
||||
|
||||
## New Functions
|
||||
Following new commands have been added to SnipeitPS:
|
||||
- New-Supplier
|
||||
- Set-Supplier
|
||||
- Remove-Supplier
|
||||
- Set-Manufacturer
|
||||
|
||||
|
||||
# [v.1.8.x] - 2021-06-17
|
||||
|
||||
## Support for new Snipe it endpoints
|
||||
|
||||
## New features
|
||||
|
||||
Get-SnipeitAccessories -user_id
|
||||
returns accessories checked out to user id
|
||||
|
||||
Get-SnipeitAsset -user_id
|
||||
Return Assets checked out to user id
|
||||
|
||||
Get-SnipeitAsset -component_id
|
||||
Returns assets with specific component id
|
||||
|
||||
Get-SnipeitLicense -user_id
|
||||
Get licenses checked out to user ID
|
||||
|
||||
Get-SnipeitLicense -asset_id
|
||||
Get licenses checked out to asset ID
|
||||
|
||||
Get-SnipeitUser -accessory_id
|
||||
Get users that have specific accessory id checked out
|
||||
|
||||
# [v.1.7.x] - 2021-06-14
|
||||
|
||||
## Consumables
|
||||
|
||||
## New features
|
||||
Added support for consumables
|
||||
|
||||
## New functions
|
||||
- New-SnipeitConsumable
|
||||
- Get-SnipeitConsumable
|
||||
- Set-SnipeitConsumable
|
||||
- Remove-SnipeitConsumable
|
||||
|
||||
|
||||
# [v.1.6.x] - 2021-06-14
|
||||
|
||||
## Remove more things ja set some more
|
||||
|
||||
### New features
|
||||
Added some set and remove functions. Pipelineinput supported
|
||||
for all remove functions.
|
||||
|
||||
### New functions
|
||||
- Remove-SnipeitAccessory
|
||||
- Remove-SnipeitCategory
|
||||
- Remove-SnipeitCompany
|
||||
- Remove-SnipeitComponent
|
||||
- Remove-SnipeitCustomField
|
||||
- Remove-SnipeitDepartment
|
||||
- Remove-SnipeitLicense
|
||||
- Remove-SnipeitLocation
|
||||
- Remove-SnipeitManufacturer
|
||||
- Remove-SnipeitModel
|
||||
- Set-SnipeitCategory
|
||||
- Set-SnipeitCompany
|
||||
- Set-SnipeitCustomField
|
||||
- Set-SnipeitDepartment
|
||||
- Set-SnipeitStatus
|
||||
|
||||
|
||||
# [v1.5.x] - 2021-06-08
|
||||
|
||||
## Piping input
|
||||
|
|
|
|||
19
README.md
19
README.md
|
|
@ -19,15 +19,30 @@ 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
|
||||
|
||||
```powershell
|
||||
# Review the help at any time!
|
||||
Get-Help about_SnipeitPS
|
||||
Get-Command -Module SnipeitPS
|
||||
Get-Help Get-SnipeitAsset -Full # or any other command
|
||||
```
|
||||
|
|
|
|||
|
|
@ -88,15 +88,14 @@ task GitStatus -If (Test-Path .git) {
|
|||
}
|
||||
}
|
||||
|
||||
task TestVersions TestPS3, TestPS4, TestPS4, TestPS5
|
||||
task TestPS3 {
|
||||
exec {powershell.exe -Version 3 -NoProfile Invoke-Build PesterTests}
|
||||
}
|
||||
task TestPS4 {
|
||||
exec {powershell.exe -Version 4 -NoProfile Invoke-Build PesterTests}
|
||||
}
|
||||
task TestPS5 {
|
||||
exec {powershell.exe -Version 5 -NoProfile Invoke-Build PesterTests}
|
||||
task TestVersions TestPS
|
||||
|
||||
task TestPS {
|
||||
if($env:PShell -eq '7') {
|
||||
exec {pwsh.exe -NoProfile Invoke-Build PesterTests}
|
||||
}else {
|
||||
exec {powershell.exe -NoProfile Invoke-Build PesterTests}
|
||||
}
|
||||
}
|
||||
|
||||
# Synopsis: Invoke Pester Tests
|
||||
|
|
@ -192,7 +191,9 @@ task Deploy -If (
|
|||
(-not ($env:APPVEYOR_PULL_REQUEST_NUMBER)) -and
|
||||
# Do not deploy if the commit contains the string "skip-deploy"
|
||||
# Meant for major/minor version publishes with a .0 build/patch version (like 2.1.0)
|
||||
$env:APPVEYOR_REPO_COMMIT_MESSAGE -notlike '*skip-deploy*'
|
||||
$env:APPVEYOR_REPO_COMMIT_MESSAGE -notlike '*skip-deploy*' -and
|
||||
# publish from one powershell version is enought
|
||||
$env:PShell -eq '5'
|
||||
) {
|
||||
Remove-Module SnipeitPS -ErrorAction SilentlyContinue
|
||||
}, PublishToGallery
|
||||
|
|
|
|||
|
|
@ -57,5 +57,13 @@ function Get-ParameterValue {
|
|||
}
|
||||
finally {}
|
||||
}
|
||||
|
||||
#Convert switch parameters to booleans so it converts nicely to json
|
||||
foreach ( $key in @($ParameterValues.Keys)) {
|
||||
if ($true -eq $ParameterValues[$key].IsPresent){
|
||||
$ParameterValues[$key]=$true;
|
||||
}
|
||||
}
|
||||
|
||||
return $ParameterValues
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +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
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$Body,
|
||||
[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."
|
||||
|
|
@ -34,42 +64,117 @@
|
|||
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'
|
||||
}
|
||||
|
||||
if ($Body) {$splatParameters["Body"] = [System.Text.Encoding]::UTF8.GetBytes($Body)}
|
||||
# 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']
|
||||
# As multipart/form-data is always POST we need add
|
||||
# requested method for laravel named as '_method'
|
||||
$Body['_method'] = $Method
|
||||
$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']))
|
||||
}
|
||||
}
|
||||
|
||||
if ($Body -and $splatParameters.Keys -notcontains 'Form') {
|
||||
$splatParameters["Body"] = [System.Text.Encoding]::UTF8.GetBytes(($Body | Convertto-Json))
|
||||
}
|
||||
|
||||
$script:PSDefaultParameterValues = $global:PSDefaultParameterValues
|
||||
|
||||
Write-Debug $Body
|
||||
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"
|
||||
Write-Debug "[$($MyInvocation.MyCommand.Name)] Invoke-WebRequest with: $($splatParameters | Out-String)"
|
||||
$webResponse = Invoke-WebRequest @splatParameters
|
||||
$webResponse = Invoke-RestMethod @splatParameters
|
||||
}
|
||||
catch {
|
||||
Write-Verbose "[$($MyInvocation.MyCommand.Name)] Failed to get an answer from the server"
|
||||
|
|
@ -81,28 +186,44 @@
|
|||
if ($webResponse) {
|
||||
Write-Verbose "[$($MyInvocation.MyCommand.Name)] Status code: $($webResponse.StatusCode)"
|
||||
|
||||
if ($webResponse.Content) {
|
||||
Write-Verbose $webResponse.Content
|
||||
if ($webResponse) {
|
||||
Write-Verbose $webResponse
|
||||
|
||||
# API returned a Content: lets work wit it
|
||||
# API returned a Content: lets work with it
|
||||
try{
|
||||
$response = ConvertFrom-Json -InputObject $webResponse.Content
|
||||
|
||||
if ($response.status -eq "error") {
|
||||
Write-Verbose "[$($MyInvocation.MyCommand.Name)] An error response was received from; resolving"
|
||||
if ($webResponse.status -eq "error") {
|
||||
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 $($response.messages | Out-String)
|
||||
}
|
||||
else {
|
||||
$result = $response
|
||||
if (($response) -and ($response | Get-Member -Name payload))
|
||||
{
|
||||
$result = $response.payload
|
||||
Write-Error $($webResponse.messages | Out-String)
|
||||
} elseif ( $webResponse.StatusCode -eq 'Unauthorized') {
|
||||
Write-Verbose "[$($MyInvocation.MyCommand.Name)] An Unauthorized response was received"
|
||||
Write-Error "Cannot connect to Snipe It: Unauthorized."
|
||||
return $false
|
||||
} else {
|
||||
#update operations return payload
|
||||
if ($webResponse.payload) {
|
||||
$result = $webResponse.payload
|
||||
}
|
||||
elseif (($response) -and ($response | Get-Member -Name rows)) {
|
||||
$result = $response.rows
|
||||
#Search operations return rows
|
||||
elseif ($webResponse.rows) {
|
||||
$result = $webResponse.rows
|
||||
}
|
||||
#Remove operations returns status and message
|
||||
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
|
||||
}
|
||||
|
||||
Write-Verbose "Status: $($webResponse.status)"
|
||||
Write-Verbose "Messages: $($webResponse.messages)"
|
||||
|
||||
$result
|
||||
}
|
||||
|
|
@ -113,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
|
||||
|
|
@ -131,3 +252,4 @@
|
|||
Write-Verbose "[$($MyInvocation.MyCommand.Name)] Function ended"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
16
SnipeitPS/Private/Reset-SnipeitPSLegacyApi.ps1
Normal file
16
SnipeitPS/Private/Reset-SnipeitPSLegacyApi.ps1
Normal 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
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
18
SnipeitPS/Private/Set-SnipeitPSLegacyApiKey.ps1
Normal file
18
SnipeitPS/Private/Set-SnipeitPSLegacyApiKey.ps1
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
14
SnipeitPS/Private/Set-SnipeitPSLegacyUrl.ps1
Normal file
14
SnipeitPS/Private/Set-SnipeitPSLegacyUrl.ps1
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
function Set-SnipeitPSLegacyUrl {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
param(
|
||||
$url
|
||||
)
|
||||
process {
|
||||
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
|
||||
$SnipeitPSSession.legacyUrl = $url.TrimEnd('/')
|
||||
}
|
||||
}
|
||||
}
|
||||
18
SnipeitPS/Private/Test-SnipeitPSConnection.ps1
Normal file
18
SnipeitPS/Private/Test-SnipeitPSConnection.ps1
Normal 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
|
||||
}
|
||||
}
|
||||
149
SnipeitPS/Public/Connect-SnipeitPS.ps1
Normal file
149
SnipeitPS/Public/Connect-SnipeitPS.ps1
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -32,6 +47,10 @@ Get-SnipeitAccessory -search Keyboard
|
|||
.EXAMPLE
|
||||
Get-SnipeitAccessory -id 1
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAccessory -user_id 1
|
||||
Get accessories checked out to user ID 1
|
||||
|
||||
#>
|
||||
|
||||
function Get-SnipeitAccessory() {
|
||||
|
|
@ -43,6 +62,9 @@ function Get-SnipeitAccessory() {
|
|||
[parameter(ParameterSetName='Get by ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Accessories checked out to user id')]
|
||||
[int]$user_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$company_id,
|
||||
|
||||
|
|
@ -69,51 +91,70 @@ function Get-SnipeitAccessory() {
|
|||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[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
|
||||
|
||||
if ($id -and $search){
|
||||
throw "Please specify only one of -id or -search parameter"
|
||||
}
|
||||
|
||||
$SearchParameter = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/accessories"
|
||||
Method = 'Get'
|
||||
GetParameters = $SearchParameter
|
||||
Token = $apiKey
|
||||
}
|
||||
|
||||
if($id){
|
||||
$Parameters.Uri ="$url/api/v1/accessories/$id"
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,22 +79,48 @@ 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 -url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -all
|
||||
Returens all assets
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsset -search "myMachine"-url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -search "myMachine"
|
||||
Search for specific asset
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsset -search "myMachine"-url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -id 3
|
||||
Get asset with id number 3
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsset -asset_tag "myAssetTag"-url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -asset_tag snipe0003
|
||||
Get asset with asset tag snipe00033
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsset -serial 1234
|
||||
Get asset with searial number 1234
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsser -audit_due
|
||||
Get Assets due auditing soon
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsser -audit_overdue
|
||||
Get Assets overdue for auditing
|
||||
|
||||
.EXAMPLE
|
||||
Get-AnipeitAsset -user_id 4
|
||||
Get Assets checked out to user id 4
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsset -component_id 5
|
||||
Get Assets with component id 5
|
||||
|
||||
|
||||
#>
|
||||
|
||||
function Get-SnipeitAsset() {
|
||||
|
|
@ -100,6 +145,15 @@ function Get-SnipeitAsset() {
|
|||
[parameter(ParameterSetName='Assets overdue for auditing')]
|
||||
[switch]$audit_overdue,
|
||||
|
||||
[parameter(ParameterSetName='Assets checked out to user id')]
|
||||
[int]$user_id,
|
||||
|
||||
[parameter(ParameterSetName='Assets with component id')]
|
||||
[int]$component_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$name,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$order_number,
|
||||
|
||||
|
|
@ -130,82 +184,124 @@ 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')]
|
||||
[parameter(ParameterSetName='Assets checked out to user id')]
|
||||
[parameter(ParameterSetName='Assets with component id')]
|
||||
[ValidateSet('id','created_at','asset_tag','serial','order_number','model_id','category_id','manufacturer_id','company_id','location_id','status','status_id')]
|
||||
[string]$sort,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[parameter(ParameterSetName='Assets due auditing soon')]
|
||||
[parameter(ParameterSetName='Assets overdue for auditing')]
|
||||
[parameter(ParameterSetName='Assets checked out to user id')]
|
||||
[parameter(ParameterSetName='Assets with component id')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[parameter(ParameterSetName='Assets due auditing soon')]
|
||||
[parameter(ParameterSetName='Assets overdue for auditing')]
|
||||
[parameter(ParameterSetName='Assets checked out to user id')]
|
||||
[parameter(ParameterSetName='Assets with component id')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[parameter(ParameterSetName='Assets due auditing soon')]
|
||||
[parameter(ParameterSetName='Assets overdue for auditing')]
|
||||
[parameter(ParameterSetName='Assets checked out to user id')]
|
||||
[parameter(ParameterSetName='Assets with component id')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[parameter(ParameterSetName='Assets due auditing soon')]
|
||||
[parameter(ParameterSetName='Assets overdue for auditing')]
|
||||
[parameter(ParameterSetName='Assets checked out to user id')]
|
||||
[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/$asset_serial"}
|
||||
'Assets due auditing soon' {$apiurl = "$url/api/v1/hardware/audit/due"}
|
||||
'Assets overdue for auditing' {$apiurl = "$url/api/v1/hardware/audit/overdue"}
|
||||
}
|
||||
|
||||
|
||||
$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
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
178
SnipeitPS/Public/Get-SnipeitConsumable.ps1
Normal file
178
SnipeitPS/Public/Get-SnipeitConsumable.ps1
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Gets a list of Snipe-it consumables
|
||||
|
||||
.PARAMETER search
|
||||
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
|
||||
|
||||
.PARAMETER category_id
|
||||
Id number of category
|
||||
|
||||
.PARAMETER manufacturer_id
|
||||
Id number of manufacturer
|
||||
|
||||
.PARAMETER sort
|
||||
Sort results by column
|
||||
|
||||
.PARAMETER order
|
||||
Specify the order (asc or desc) you wish to order by on your sort column
|
||||
|
||||
.PARAMETER expand
|
||||
Whether to include detailed information on categories, etc (true) or just the text name (false)
|
||||
|
||||
.PARAMETER limit
|
||||
Specify the number of results you wish to return. Defaults to 50. Defines batch size for -all
|
||||
|
||||
.PARAMETER offset
|
||||
Offset to use
|
||||
|
||||
.PARAMETER all
|
||||
A return all results
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitConsumable -all
|
||||
Returns all consumables
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitConsumable -search paper
|
||||
Returns search results containeing string display
|
||||
|
||||
.EXAMPLE
|
||||
Get-Snipeitconsumable -id
|
||||
Returns specific consumable
|
||||
|
||||
#>
|
||||
function Get-SnipeitConsumable() {
|
||||
[CmdletBinding(DefaultParameterSetName = 'Search')]
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$name,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$category_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$company_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$manufacturer_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$location_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet('id', 'name', 'min_amt', 'order_number', 'serial', 'purchase_date', 'purchase_cost', 'company', 'category', 'qty', 'location', 'image', 'created_at')]
|
||||
[string]$sort = "created_at",
|
||||
|
||||
|
||||
[Parameter(ParameterSetName='Search')]
|
||||
[switch]$expand,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[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 = @{
|
||||
Api = "/api/v1/consumables"
|
||||
Method = 'Get'
|
||||
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-Snipeitconsumable @callargs
|
||||
$res
|
||||
if ($res.count -ne $limit) {
|
||||
break
|
||||
}
|
||||
$offstart = $offstart + $limit
|
||||
}
|
||||
} else {
|
||||
$result = Invoke-SnipeitMethod @Parameters
|
||||
$result
|
||||
}
|
||||
}
|
||||
|
||||
'Get with ID' {
|
||||
foreach($consumable_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "$url/api/v1/consumables/$consumable_id"
|
||||
Method = 'Get'
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -41,6 +41,12 @@ function Get-SnipeitLicense() {
|
|||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Get licenses checked out to user ID')]
|
||||
[int]$user_id,
|
||||
|
||||
[parameter(ParameterSetName='Get licenses checked out to asset ID')]
|
||||
[int]$asset_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$name,
|
||||
|
||||
|
|
@ -87,56 +93,73 @@ function Get-SnipeitLicense() {
|
|||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Get licenses checked out to user ID')]
|
||||
[parameter(ParameterSetName='Get licenses checked out to asset ID')]
|
||||
[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
|
||||
|
||||
$apiurl = "$url/api/v1/licenses"
|
||||
|
||||
if ($search -and $id ) {
|
||||
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
|
||||
}
|
||||
|
||||
if ($id) {
|
||||
$apiurl= "$url/api/v1/licenses/$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-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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -40,6 +85,10 @@ Get-SnipeitUser -username someuser
|
|||
|
||||
.EXAMPLE
|
||||
Get-SnipeitUser -email user@somedomain.com
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitUser -accessory_id 3
|
||||
Get users with accessory id 3 has been checked out to
|
||||
#>
|
||||
|
||||
function Get-SnipeitUser() {
|
||||
|
|
@ -51,6 +100,9 @@ function Get-SnipeitUser() {
|
|||
[parameter(ParameterSetName='Get with ID')]
|
||||
[string]$id,
|
||||
|
||||
[parameter(ParameterSetName='Get users a specific accessory id has been checked out to')]
|
||||
[string]$accessory_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$company_id,
|
||||
|
||||
|
|
@ -68,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",
|
||||
|
|
@ -80,52 +165,68 @@ function Get-SnipeitUser() {
|
|||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[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
|
||||
|
||||
$apiurl = "$url/api/v1/users"
|
||||
|
||||
if ($search -and $id ) {
|
||||
Throw "[$($MyInvocation.MyCommand.Name)] Please specify only -search or -id parameter , not both "
|
||||
}
|
||||
|
||||
if ($id) {
|
||||
$apiurl= "$url/api/v1/users/$id"
|
||||
}
|
||||
$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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@ ID Number of the company the accessory is assigned to
|
|||
.PARAMETER manufacturer_id
|
||||
ID number of the manufacturer for this accessory.
|
||||
|
||||
.PARAMETER model_number
|
||||
Model number for this accessory
|
||||
|
||||
.PARAMETER order_number
|
||||
Order number for this accessory.
|
||||
|
||||
|
|
@ -47,14 +50,17 @@ ID number of the supplier for this accessory
|
|||
.PARAMETER location_id
|
||||
ID number of the location the accessory is assigned to
|
||||
|
||||
.PARAMETER min_qty
|
||||
.PARAMETER min_amt
|
||||
Min quantity of the accessory before alert is triggered
|
||||
|
||||
.PARAMETER image
|
||||
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
|
||||
|
|
@ -86,11 +92,13 @@ function New-SnipeitAccessory() {
|
|||
|
||||
[string]$order_number,
|
||||
|
||||
[string]$model_number,
|
||||
|
||||
[float]$purchase_cost,
|
||||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[int]$min_qty,
|
||||
[int]$min_amt,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$supplier_id,
|
||||
|
|
@ -98,34 +106,53 @@ function New-SnipeitAccessory() {
|
|||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$location_id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[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
|
||||
}
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/accessories"
|
||||
Method = 'POST'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,14 +39,27 @@ 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
|
||||
|
||||
.PARAMETER image
|
||||
Asset image filename and path
|
||||
|
||||
.PARAMETER assigned_id
|
||||
Id of target user , location or asset
|
||||
|
||||
.PARAMETER checkout_to_type
|
||||
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.
|
||||
|
|
@ -65,16 +78,17 @@ 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"
|
||||
ConfirmImpact = "Low",
|
||||
DefaultParameterSetName = 'Create asset'
|
||||
)]
|
||||
|
||||
Param(
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(ParameterSetName='Create asset',mandatory = $true)]
|
||||
[parameter(ParameterSetName='Checkout asset when creating',mandatory = $true)]
|
||||
[int]$status_id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
@ -114,42 +128,81 @@ function New-SnipeitAsset()
|
|||
[parameter(mandatory = $false)]
|
||||
[int]$rtd_location_id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[parameter(ParameterSetName='Checkout asset when creating',mandatory = $true)]
|
||||
[int]$assigned_id,
|
||||
|
||||
[parameter(ParameterSetName='Checkout asset when creating',mandatory = $true)]
|
||||
[ValidateSet("location","asset","user")]
|
||||
[string] $checkout_to_type = "user",
|
||||
|
||||
[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 ($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 } }
|
||||
}
|
||||
|
||||
#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
|
||||
}
|
||||
}
|
||||
|
||||
if ($customfields)
|
||||
{
|
||||
$Values += $customfields
|
||||
process {
|
||||
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
|
||||
$result = Invoke-SnipeitMethod @Parameters
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/hardware"
|
||||
Method = 'Post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,37 +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
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/maintenances"
|
||||
Method = 'Post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,38 +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
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/hardware/audit"
|
||||
Method = 'Post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,11 +8,8 @@ Name of new category to be created
|
|||
.PARAMETER type
|
||||
Type of new category to be created (asset, accessory, consumable, component, license)
|
||||
|
||||
.PARAMETER url
|
||||
URL of Snipeit system, can be set using Set-SnipeitInfo command
|
||||
|
||||
.PARAMETER apiKey
|
||||
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
|
||||
.PARAMETER eula_text
|
||||
This allows you to customize your EULAs for specific types of assets
|
||||
|
||||
.PARAMETER use_default_eula
|
||||
If switch is present, use the primary default EULA
|
||||
|
|
@ -23,12 +20,20 @@ If switch is present, require users to confirm acceptance of assets in this cate
|
|||
.PARAMETER checkin_email
|
||||
If switch is present, send email to user on checkin/checkout
|
||||
|
||||
.PARAMETER image
|
||||
Category image filename and path
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
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"
|
||||
|
|
@ -42,51 +47,63 @@ function New-SnipeitCategory()
|
|||
[ValidateSet("asset", "accessory", "consumable", "component", "license")]
|
||||
[string]$category_type,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$apiKey,
|
||||
[string]$eula_text,
|
||||
|
||||
[switch]$use_default_eula,
|
||||
|
||||
[switch]$require_acceptance,
|
||||
|
||||
[switch]$checkin_email
|
||||
[switch]$checkin_email,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[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 ($eula_text -and $use_default_eula) {
|
||||
throw 'Dont use -use_defalt_eula if -eula_text is set'
|
||||
}
|
||||
|
||||
$Values = @{
|
||||
"name" = $name
|
||||
"category_type" = $category_type
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
}
|
||||
|
||||
if ($use_default_eula) {
|
||||
$Values += @{"use_default_eula" = $true}
|
||||
process {
|
||||
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/categories"
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
|
||||
if ($require_acceptance) {
|
||||
$Values += @{"require_acceptance" = $true}
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
|
||||
if ($checkin_email) {
|
||||
$Values += @{"checkin_email" = $true}
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/categories"
|
||||
Method = 'POST'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
}
|
||||
|
||||
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
|
||||
{
|
||||
$result = Invoke-SnipeitMethod @Parameters
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,19 +8,21 @@ Creates new company on Snipe-It system
|
|||
.PARAMETER name
|
||||
Comapany name
|
||||
|
||||
.PARAMETER image
|
||||
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"
|
||||
|
|
@ -30,31 +32,50 @@ function New-SnipeitCompany()
|
|||
[parameter(mandatory = $true)]
|
||||
[string]$name,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[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
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
|
||||
Set-SnipeitPSLegacyApiKey -apiKey $apikey
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/companies"
|
||||
Method = 'POST'
|
||||
Body = $Body
|
||||
Token = $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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,17 +26,19 @@ Date accessory was purchased
|
|||
.PARAMETER purchase_cost
|
||||
Cost of item being purchased.
|
||||
|
||||
.PARAMETER image
|
||||
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() {
|
||||
|
|
@ -65,34 +67,54 @@ function New-SnipeitComponent() {
|
|||
|
||||
[float]$purchase_cost,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[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
|
||||
}
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
process {
|
||||
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
|
||||
$result = Invoke-SnipeitMethod @Parameters
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/components"
|
||||
Method = 'POST'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
||||
|
|
|
|||
157
SnipeitPS/Public/New-SnipeitConsumable.ps1
Normal file
157
SnipeitPS/Public/New-SnipeitConsumable.ps1
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Add a new Consumable to Snipe-it asset system
|
||||
|
||||
.DESCRIPTION
|
||||
Long description
|
||||
|
||||
.PARAMETER name
|
||||
Required Name of the Consumable
|
||||
|
||||
.PARAMETER qty
|
||||
Required Quantity of comsumable
|
||||
|
||||
.PARAMETER category_id
|
||||
Required Category ID of the Consumable, this can be got using Get-SnipeitCategory
|
||||
|
||||
.PARAMETER min_amt
|
||||
Optional minimum quantity of comsumable
|
||||
|
||||
.PARAMETER company_id
|
||||
Optional Company id
|
||||
|
||||
.PARAMETER order_number
|
||||
Optional Order number
|
||||
|
||||
.PARAMETER manufacturer_id
|
||||
Manufaturer id number of the consumable
|
||||
|
||||
.PARAMETER location_id
|
||||
Location id number of the consumable
|
||||
|
||||
.PARAMETER requestable
|
||||
Is consumable requestable?
|
||||
|
||||
.PARAMETER purchase_date
|
||||
Optional Purchase cost of the consumable
|
||||
|
||||
.PARAMETER purchase_cost
|
||||
Optional Purchase cost of the consumable
|
||||
|
||||
.PARAMETER model_number
|
||||
Model number of the consumable in months
|
||||
|
||||
.PARAMETER item_no
|
||||
Item number for the consumable
|
||||
|
||||
.PARAMETER image
|
||||
Consumable Image filename and path
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
|
||||
|
||||
|
||||
.EXAMPLE
|
||||
New-Snipeitconsumable -name "Ink pack" -qty 20 -category_id 3 -min_amt 5
|
||||
Create consumable with stock count 20 , alert when stock is 5 or lower
|
||||
|
||||
#>
|
||||
|
||||
function New-SnipeitConsumable() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$name,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[int]$qty,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[int]$category_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[int]$min_amt,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[int]$company_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$order_number,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[int]$manufacturer_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[int]$location_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[bool]$requestable,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$purchase_cost,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$model_number,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$item_no,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
|
||||
)
|
||||
begin {
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
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 {
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,21 +5,41 @@
|
|||
.DESCRIPTION
|
||||
Add a new Custom Field to Snipe-it asset system
|
||||
|
||||
.PARAMETER Name
|
||||
Name of the Custom Field
|
||||
.PARAMETER name
|
||||
The field's name, which is also the form label
|
||||
|
||||
.PARAMETER element
|
||||
Form field type that should be displayed.
|
||||
|
||||
.PARAMETER field_values
|
||||
In the case of list boxes, etc, this should be a list of the options available
|
||||
|
||||
.PARAMETER show_in_email
|
||||
Whether or not to show the custom field in email notifications
|
||||
|
||||
.PARAMETER format
|
||||
How the field should be validated
|
||||
|
||||
.PARAMETER custom_format
|
||||
In the case of format 'CUSTOM REGEX', this should be validation regex this field
|
||||
|
||||
.PARAMETER field_encrypted
|
||||
Whether the field should be encrypted. (This can cause issues if you change it after the field was created.)
|
||||
|
||||
.PARAMETER help_text
|
||||
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"
|
||||
|
|
@ -27,43 +47,69 @@ function New-SnipeitCustomField()
|
|||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$Name,
|
||||
[string]$name,
|
||||
|
||||
[string]$HelpText,
|
||||
|
||||
[string]$Element = "text",
|
||||
|
||||
[string]$Format = "ANY",
|
||||
|
||||
[bool]$field_encrypted,
|
||||
|
||||
[string]$CustomFormat,
|
||||
[string]$help_text,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateSet('text','textarea','listbox','checkbox','radio')]
|
||||
[string]$element ,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateSet('ANY','CUSTOM REGEX','ALPHA','ALPHA-DASH','NUMERIC','ALPHA-NUMERIC','EMAIL','DATE','URL','IP','IPV4','IPV6','MAC','BOOLEAN')]
|
||||
[string]$format,
|
||||
|
||||
[string]$field_values,
|
||||
|
||||
[bool]$field_encrypted=$false,
|
||||
|
||||
[bool]$show_in_email=$false,
|
||||
|
||||
[string]$custom_format,
|
||||
|
||||
[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 ($format -eq 'CUSTOM REGEX' -and (-not $custom_format)) {
|
||||
throw "Please specify regex validation with -custom_format when using -format 'CUSTOM REGEX'"
|
||||
}
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
#Convert Values to JSON format
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/fields"
|
||||
Method = 'post'
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/fields"
|
||||
Method = 'post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,11 +17,14 @@
|
|||
.PARAMETER manager_id
|
||||
ID number of manager
|
||||
|
||||
.PARAMETER image
|
||||
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
|
||||
|
|
@ -46,30 +49,52 @@ function New-SnipeitDepartment() {
|
|||
|
||||
[string]$notes,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[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
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
if ($PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Write-Warning "-apiKey parameter is deprecated, please use Connect-SnipeitPS instead."
|
||||
Set-SnipeitPSLegacyApiKey -apiKey $apikey
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/departments"
|
||||
Method = 'POST'
|
||||
Body = $Body
|
||||
Token = $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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,42 +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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
|
||||
if ($values['termination_date']) {
|
||||
$values['termination_date'] = $values['termination_date'].ToString("yyyy-MM-dd")
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/licenses"
|
||||
Method = 'POST'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
}
|
||||
|
||||
If ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
|
||||
$result = Invoke-SnipeitMethod @Parameters
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,11 +38,14 @@
|
|||
.PARAMETER manager_id
|
||||
The manager ID of the location
|
||||
|
||||
.PARAMETER image
|
||||
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
|
||||
|
|
@ -78,29 +81,52 @@ function New-SnipeitLocation() {
|
|||
|
||||
[string]$ldap_ou,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[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
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/locations"
|
||||
Method = 'post'
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/locations"
|
||||
Method = 'post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,18 +8,23 @@
|
|||
.PARAMETER Name
|
||||
Name of the Manufacturer
|
||||
|
||||
.PARAMETER image
|
||||
Manufacturer Image filename and path
|
||||
|
||||
.PARAMETER image_delete
|
||||
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"
|
||||
|
|
@ -29,33 +34,52 @@ function New-SnipeitManufacturer()
|
|||
[parameter(mandatory = $true)]
|
||||
[string]$Name,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[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
|
||||
}
|
||||
|
||||
#Convert Values to JSON format
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/manufacturers"
|
||||
Method = 'post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,18 +20,20 @@
|
|||
.PARAMETER fieldset_id
|
||||
Fieldset ID that the asset uses (Custom fields)
|
||||
|
||||
.PARAMETER image
|
||||
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"
|
||||
|
|
@ -51,41 +53,62 @@ function New-SnipeitModel()
|
|||
|
||||
[int]$eol,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[int]$fieldset_id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[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
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/models"
|
||||
Method = 'post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
|
|
|||
136
SnipeitPS/Public/New-SnipeitSupplier.ps1
Normal file
136
SnipeitPS/Public/New-SnipeitSupplier.ps1
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Creates a supplier
|
||||
|
||||
.DESCRIPTION
|
||||
Creates a new supplier on Snipe-It system
|
||||
|
||||
.PARAMETER name
|
||||
Department Name
|
||||
|
||||
.PARAMETER address
|
||||
Address line 1 of supplier
|
||||
|
||||
.PARAMETER address2
|
||||
Address line 1 of supplier
|
||||
|
||||
.PARAMETER city
|
||||
City
|
||||
|
||||
.PARAMETER state
|
||||
State
|
||||
|
||||
.PARAMETER country
|
||||
Country
|
||||
|
||||
.PARAMETER zip
|
||||
Zip code
|
||||
|
||||
.PARAMETER phone
|
||||
Phone number
|
||||
|
||||
.PARAMETER fax
|
||||
Fax number
|
||||
|
||||
.PARAMETER email
|
||||
Email address
|
||||
|
||||
.PARAMETER contact
|
||||
Contact person
|
||||
|
||||
.PARAMETER notes
|
||||
Email address
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
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
|
||||
|
||||
#>
|
||||
|
||||
function New-SnipeitSupplier() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$name,
|
||||
|
||||
[string]$address,
|
||||
|
||||
[string]$address2,
|
||||
|
||||
[string]$city,
|
||||
|
||||
[string]$state,
|
||||
|
||||
[string]$country,
|
||||
|
||||
[string]$zip,
|
||||
|
||||
[string]$phone,
|
||||
|
||||
[string]$fax,
|
||||
|
||||
[string]$email,
|
||||
|
||||
[string]$contact,
|
||||
|
||||
[string]$notes,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
begin {
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/suppilers"
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -17,6 +17,9 @@
|
|||
.PARAMETER active
|
||||
Can user log in to snipe-it?
|
||||
|
||||
.PARAMETER password
|
||||
Password for user
|
||||
|
||||
.PARAMETER notes
|
||||
User Notes
|
||||
|
||||
|
|
@ -41,17 +44,23 @@
|
|||
.PARAMETER manager_id
|
||||
ID number of manager
|
||||
|
||||
.PARAMETER groups
|
||||
ID numbers of groups
|
||||
|
||||
.PARAMETER employee_num
|
||||
Employeenumber
|
||||
|
||||
.PARAMETER ldap_import
|
||||
Mark user as import from ldap
|
||||
|
||||
.PARAMETER image
|
||||
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
|
||||
|
|
@ -97,38 +106,59 @@ function New-SnipeitUser() {
|
|||
|
||||
[int]$manager_id,
|
||||
|
||||
[int[]]$groups,
|
||||
|
||||
[string]$employee_num,
|
||||
|
||||
[bool]$ldap_import = $false,
|
||||
|
||||
[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
|
||||
}
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
process {
|
||||
if ($PSCmdlet.ShouldProcess("ShouldProcess?")) {
|
||||
$result = Invoke-SnipeitMethod @Parameters
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/users"
|
||||
Method = 'post'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
|
|
|||
72
SnipeitPS/Public/Remove-SnipeitAccessory.ps1
Normal file
72
SnipeitPS/Public/Remove-SnipeitAccessory.ps1
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes Accessory from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes Accessory or multiple Accessoriers from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For accessory to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitAccessory -ID 44 -Verbose
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAccessory -search needle | Remove-SnipeitAccessory
|
||||
#>
|
||||
|
||||
function Remove-SnipeitAccessory () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($accessory_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/accessories/$accessory_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,55 +2,72 @@
|
|||
.SYNOPSIS
|
||||
Removes Asset from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes Asset from Snipe-it asset system
|
||||
Removes asset or multiple assets from Snipe-it asset system
|
||||
.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
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitAsset -serial 123456789 | Remove-SnipeitAsset
|
||||
#>
|
||||
|
||||
function Remove-SnipeitAsset ()
|
||||
{
|
||||
function Remove-SnipeitAsset () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[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
|
||||
)
|
||||
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = @{
|
||||
"ID" = $id
|
||||
begin {
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json
|
||||
process {
|
||||
foreach($asset_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/hardware/$asset_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/hardware/$ID"
|
||||
Method = 'Delete'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
||||
$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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 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)]
|
||||
[int]
|
||||
[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
|
||||
)
|
||||
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = @{
|
||||
"ID" = $id
|
||||
begin {
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json
|
||||
process {
|
||||
foreach($maintenance_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/maintenances/$maintenance_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/maintenances/$ID"
|
||||
Method = 'Delete'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
||||
$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
|
||||
}
|
||||
|
|
|
|||
71
SnipeitPS/Public/Remove-SnipeitCategory.ps1
Normal file
71
SnipeitPS/Public/Remove-SnipeitCategory.ps1
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes category from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes category or multiple categories from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For categoryto be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitCategory -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitCategory -search something | Remove-SnipeitCategory
|
||||
#>
|
||||
|
||||
function Remove-SnipeitCategory () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
|
||||
)
|
||||
begin {
|
||||
}
|
||||
process {
|
||||
foreach($category_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/categories/$category_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
71
SnipeitPS/Public/Remove-SnipeitCompany.ps1
Normal file
71
SnipeitPS/Public/Remove-SnipeitCompany.ps1
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes Company from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes Company or multiple Companies from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For Company to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitCompany -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitCompany | | Where-object {$_.name -like '*some*'} | Remove-SnipeitCompany
|
||||
#>
|
||||
|
||||
function Remove-SnipeitCompany () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
|
||||
)
|
||||
begin {
|
||||
}
|
||||
process {
|
||||
foreach($company_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/companies/$company_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
72
SnipeitPS/Public/Remove-SnipeitComponent.ps1
Normal file
72
SnipeitPS/Public/Remove-SnipeitComponent.ps1
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes component from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes component or multiple components from Snipe-it asset system
|
||||
.PARAMETER IDs
|
||||
Unique ID For component to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitComponent -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitComponent -search 123456789 | Remove-SnipeitComponent
|
||||
#>
|
||||
|
||||
function Remove-SnipeitComponent () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($component_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/components/$component_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
73
SnipeitPS/Public/Remove-SnipeitConsumable.ps1
Normal file
73
SnipeitPS/Public/Remove-SnipeitConsumable.ps1
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes consumable from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes consumable or multiple consumables from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For consumable to be removed
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitConsumable -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitConsumable -search "paper" | Remove-SnipeitConsumable
|
||||
#>
|
||||
|
||||
function Remove-SnipeitConsumable () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($consumable_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/consumables/$consumable_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
70
SnipeitPS/Public/Remove-SnipeitCustomField.ps1
Normal file
70
SnipeitPS/Public/Remove-SnipeitCustomField.ps1
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes custom field from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes custom field or multiple fields from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For field to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitCustomField -ID 44 -Verbose
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitCustomField | Where-object {$_.name -like '*address*'} | Remove-SnipeitCustomField
|
||||
#>
|
||||
|
||||
function Remove-SnipeitCustomField () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
begin {
|
||||
}
|
||||
process {
|
||||
foreach($field_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/fields/$field_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
71
SnipeitPS/Public/Remove-SnipeitDepartment.ps1
Normal file
71
SnipeitPS/Public/Remove-SnipeitDepartment.ps1
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes department from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes department or multiple departments from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For department to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitDepartment -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitDepartment | Where-object {$_.name -like '*head*'} | Remove-SnipeitDepartment
|
||||
#>
|
||||
|
||||
function Remove-SnipeitDepartment () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
|
||||
)
|
||||
begin {
|
||||
}
|
||||
process {
|
||||
foreach($department_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/departments/$department_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
72
SnipeitPS/Public/Remove-SnipeitLicense.ps1
Normal file
72
SnipeitPS/Public/Remove-SnipeitLicense.ps1
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes licence from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes licence or multiple licenses from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For licence to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitLicence -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitLicence -product_key 123456789 | Remove-SnipeitLicense
|
||||
#>
|
||||
|
||||
function Remove-SnipeitLicense () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($license_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/licenses/$license_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
72
SnipeitPS/Public/Remove-SnipeitLocation.ps1
Normal file
72
SnipeitPS/Public/Remove-SnipeitLocation.ps1
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes Location from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes localtion or multiple locations from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For location to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitLocation -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitLocation -city Arkham | Remove-SnipeitLocation
|
||||
#>
|
||||
|
||||
function Remove-SnipeitLocation () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($location_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/locations/$asset_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
73
SnipeitPS/Public/Remove-SnipeitManufacturer.ps1
Normal file
73
SnipeitPS/Public/Remove-SnipeitManufacturer.ps1
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes manufacturer from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes manufacturer or multiple manufacturers from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For manufacturer to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitManufacturer -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitManufacturer | Where-object {$_.name -like '*something*'} | Remove-SnipeitManufacturer
|
||||
#>
|
||||
|
||||
function Remove-SnipeitManufacturer () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($manufacturer_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/manufacturers/$manufacturer_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
72
SnipeitPS/Public/Remove-SnipeitModel.ps1
Normal file
72
SnipeitPS/Public/Remove-SnipeitModel.ps1
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes Asset model from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes asset model or multiple assets models from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For Model to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitModel -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitModel -search needle | Remove-SnipeitModel
|
||||
#>
|
||||
|
||||
function Remove-SnipeitModel () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($model_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/models/$model_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
72
SnipeitPS/Public/Remove-SnipeitSupplier.ps1
Normal file
72
SnipeitPS/Public/Remove-SnipeitSupplier.ps1
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Removes supplier from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Removes supplier or multiple manufacturers from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
Unique ID For supplier to be removed
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. User's API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Remove-SnipeitSupplier -ID 44
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitSupplier | Where-object {$_.name -like '*something*'} | Remove-SnipeitSupplier
|
||||
#>
|
||||
|
||||
function Remove-SnipeitSupplier () {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($suppliers_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/suppliers/$supplier_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,56 +2,70 @@
|
|||
.SYNOPSIS
|
||||
Removes User from Snipe-it asset system
|
||||
.DESCRIPTION
|
||||
Long description
|
||||
Removes Uuser or users from Snipe-it asset system
|
||||
.PARAMETER ID
|
||||
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)]
|
||||
[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
|
||||
)
|
||||
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = @{
|
||||
"ID" = $id
|
||||
begin{
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json
|
||||
process {
|
||||
foreach($user_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/users/$user_id"
|
||||
Method = 'Delete'
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/users/$ID"
|
||||
Method = 'Delete'
|
||||
Body = $Body
|
||||
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
|
||||
}
|
||||
|
||||
$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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
Body = @{}
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,36 +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) }
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/hardware/$id/checkin"
|
||||
Api = "/api/v1/hardware/$id/checkin"
|
||||
Method = 'POST'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ Notes about the accessory
|
|||
.PARAMETER qty
|
||||
Quantity of the accessory you have
|
||||
|
||||
.PARAMETER min_amt
|
||||
Minimum amount of the accessory, before alert is triggered
|
||||
|
||||
.PARAMETER category_id
|
||||
ID number of the category the accessory belongs to
|
||||
|
||||
|
|
@ -23,14 +26,8 @@ ID Number of the company the accessory is assigned to
|
|||
.PARAMETER manufacturer_id
|
||||
ID number of the manufacturer for this accessory.
|
||||
|
||||
.PARAMETER order_number
|
||||
Order number for this accessory.
|
||||
|
||||
.PARAMETER purchase_cost
|
||||
Cost of item being purchased.
|
||||
|
||||
.PARAMETER purchase_date
|
||||
Date accessory was purchased
|
||||
.PARAMETER model_number
|
||||
Model number for this accessory
|
||||
|
||||
.PARAMETER order_number
|
||||
Order number for this accessory.
|
||||
|
|
@ -47,15 +44,20 @@ ID number of the supplier for this accessory
|
|||
.PARAMETER location_id
|
||||
ID number of the location the accessory is assigned to
|
||||
|
||||
.PARAMETER min_qty
|
||||
Min quantity of the accessory before alert is triggered
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
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
|
||||
|
||||
|
|
@ -78,12 +80,11 @@ function Set-SnipeitAccessory() {
|
|||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$category_id,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$company_id,
|
||||
[Nullable[System.Int32]]$company_id,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$manufacturer_id,
|
||||
[Nullable[System.Int32]]$manufacturer_id,
|
||||
|
||||
[string]$model_number,
|
||||
|
||||
[string]$order_number,
|
||||
|
||||
|
|
@ -91,15 +92,24 @@ function Set-SnipeitAccessory() {
|
|||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[bool]$min_qty,
|
||||
[Nullable[System.Int32]]$min_amt,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$supplier_id,
|
||||
[Nullable[System.Int32]]$supplier_id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[Nullable[System.Int32]]$location_id,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
|
|
@ -108,29 +118,43 @@ function Set-SnipeitAccessory() {
|
|||
|
||||
$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")
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
Write-Verbose "Body: $Body"
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($accessory_id in $id){
|
||||
foreach($accessory_id in $id) {
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/accessories/$accessory_id"
|
||||
Method = 'Patch'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
Api = "/api/v1/accessories/$accessory_id"
|
||||
Method = $RequestType
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,33 +37,46 @@ function Set-SnipeitAccessoryOwner()
|
|||
|
||||
[string] $note,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
begin{
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
}
|
||||
|
||||
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 = $Body
|
||||
Token = $apiKey
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -53,14 +59,20 @@
|
|||
.PARAMETER notes
|
||||
Notes about asset
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Put youc use Patch if needed
|
||||
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
|
||||
|
|
@ -75,8 +87,7 @@
|
|||
Get-SnipeitAsset -serial 12345678 | Set-SnipeitAsset -notes 'Just updated'
|
||||
#>
|
||||
|
||||
function Set-SnipeitAsset()
|
||||
{
|
||||
function Set-SnipeitAsset() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Medium"
|
||||
|
|
@ -86,44 +97,57 @@ function Set-SnipeitAsset()
|
|||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(Mandatory=$false)]
|
||||
[string]
|
||||
$asset_tag,
|
||||
|
||||
[string]$name,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$status_id,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$model_id,
|
||||
|
||||
[DateTime]$last_checkout,
|
||||
|
||||
[int]$assigned_to,
|
||||
[Nullable[System.Int32]]$assigned_to,
|
||||
|
||||
[int]$company_id,
|
||||
[Nullable[System.Int32]]$company_id,
|
||||
|
||||
[string]$serial,
|
||||
|
||||
[string]$order_number,
|
||||
|
||||
[int]$warranty_months,
|
||||
[Nullable[System.Int32]]$warranty_months,
|
||||
|
||||
[double]$purchase_cost,
|
||||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[int]$supplier_id,
|
||||
|
||||
[bool]$requestable,
|
||||
|
||||
[bool]$archived,
|
||||
|
||||
[int]$rtd_location_id,
|
||||
[Nullable[System.Int32]]$rtd_location_id,
|
||||
|
||||
[string]$notes,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey,
|
||||
|
||||
[Alias('CustomValues')]
|
||||
|
|
@ -134,33 +158,46 @@ function Set-SnipeitAsset()
|
|||
|
||||
$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")
|
||||
}
|
||||
|
||||
if ($customfields)
|
||||
{
|
||||
if ($customfields) {
|
||||
$Values += $customfields
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
}
|
||||
|
||||
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 = $Body
|
||||
Token = $apiKey
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,9 @@
|
|||
.PARAMETER assigned_id
|
||||
Id of target user , location or asset
|
||||
|
||||
.PARAMETER checkout_to_type
|
||||
Checkout asset to one of following types user, location, asset
|
||||
|
||||
.PARAMETER note
|
||||
Notes about checkout
|
||||
|
||||
|
|
@ -25,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"
|
||||
|
|
@ -58,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
|
||||
)
|
||||
|
||||
|
|
@ -71,42 +73,54 @@ function Set-SnipeitAssetOwner()
|
|||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
if ($Values['expected_checkin']) {
|
||||
$Values['expected_checkin'] = $values['expected_checkin'].ToString("yyyy-MM-dd")
|
||||
$Values['expected_checkin'] = $Values['expected_checkin'].ToString("yyyy-MM-dd")
|
||||
}
|
||||
|
||||
if ($Values['checkout_at']) {
|
||||
$Values['checkout_at'] = $values['checkout_at'].ToString("yyyy-MM-dd")
|
||||
$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')}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
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 = $Body
|
||||
Token = $apiKey
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
119
SnipeitPS/Public/Set-SnipeitCategory.ps1
Normal file
119
SnipeitPS/Public/Set-SnipeitCategory.ps1
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Create a new Snipe-IT Category
|
||||
|
||||
.PARAMETER name
|
||||
Name of new category to be created
|
||||
|
||||
.PARAMETER type
|
||||
Type of new category to be created (asset, accessory, consumable, component, license)
|
||||
|
||||
.PARAMETER use_default_eula
|
||||
If switch is present, use the primary default EULA
|
||||
|
||||
.PARAMETER eula_text
|
||||
This allows you to customize your EULAs for specific types of assets
|
||||
|
||||
.PARAMETER require_acceptance
|
||||
If switch is present, require users to confirm acceptance of assets in this category
|
||||
|
||||
.PARAMETER checkin_email
|
||||
Should the user be emailed the EULA and/or an acceptance confirmation email when this item is checked in?
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Set-SnipeitCategory -id 4 -name "Laptops"
|
||||
#>
|
||||
|
||||
function Set-SnipeitCategory() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[int[]]$id,
|
||||
|
||||
[string]$name,
|
||||
|
||||
[ValidateSet("asset", "accessory", "consumable", "component", "license")]
|
||||
[string]$category_type,
|
||||
|
||||
[string]$eula_text,
|
||||
|
||||
[bool]$use_default_eula,
|
||||
|
||||
[bool]$require_acceptance,
|
||||
|
||||
[bool]$checkin_email,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
|
||||
)
|
||||
|
||||
begin {
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($category_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/categories/$category_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
98
SnipeitPS/Public/Set-SnipeitCompany.ps1
Normal file
98
SnipeitPS/Public/Set-SnipeitCompany.ps1
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Updates company name
|
||||
|
||||
.DESCRIPTION
|
||||
Updates companyt name on Snipe-It system
|
||||
|
||||
.PARAMETER id
|
||||
ID number of company
|
||||
|
||||
.PARAMETER name
|
||||
Company name
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
An example
|
||||
|
||||
.NOTES
|
||||
General notes
|
||||
#>
|
||||
function Set-SnipeitCompany() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Medium"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$name,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin{
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
}
|
||||
|
||||
process{
|
||||
foreach($company_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/companies/$company_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
139
SnipeitPS/Public/Set-SnipeitComponent.ps1
Normal file
139
SnipeitPS/Public/Set-SnipeitComponent.ps1
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Updates component
|
||||
|
||||
.DESCRIPTION
|
||||
Updates component on Snipe-It system
|
||||
|
||||
.PARAMETER id
|
||||
ID number of name
|
||||
|
||||
.PARAMETER name
|
||||
Component name
|
||||
|
||||
.PARAMETER category_id
|
||||
ID number of category
|
||||
|
||||
.PARAMETER qty
|
||||
Quantity of the components you have
|
||||
|
||||
.PARAMETER min_amt
|
||||
Minimum Quantity of the components before alert is triggered
|
||||
|
||||
.PARAMETER location_id
|
||||
ID number of the location the accessory is assigned to
|
||||
|
||||
.PARAMETER order_number
|
||||
Order number for the accessory
|
||||
|
||||
.PARAMETER purchase_date
|
||||
Date accessory was purchased
|
||||
|
||||
.PARAMETER purchase_cost
|
||||
Cost of item being purchased.
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Set-SnipeitComponent -id 42 -qty 12
|
||||
Sets count of component with ID 42 to 12
|
||||
|
||||
#>
|
||||
function Set-SnipeitComponent() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Medium"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[int]$qty,
|
||||
|
||||
[Nullable[System.Int32]]$min_amt,
|
||||
|
||||
[string]$name,
|
||||
|
||||
[Nullable[System.Int32]]$company_id,
|
||||
|
||||
[Nullable[System.Int32]]$location_id,
|
||||
|
||||
|
||||
[string]$order_number,
|
||||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[float]$purchase_cost,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
begin {
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
if ($Values['purchase_date']) {
|
||||
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
|
||||
}
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($component_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/components/$component_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Updates component
|
||||
|
||||
.DESCRIPTION
|
||||
Updates component on Snipe-It system
|
||||
|
||||
.PARAMETER id
|
||||
ID number of name
|
||||
|
||||
.PARAMETER name
|
||||
Component name
|
||||
|
||||
.PARAMETER category_id
|
||||
ID number of category
|
||||
|
||||
.PARAMETER qty
|
||||
Quantity of the components you have
|
||||
|
||||
.PARAMETER location_id
|
||||
ID number of the location the accessory is assigned to
|
||||
|
||||
.PARAMETER order_number
|
||||
Order number for the accessory
|
||||
|
||||
.PARAMETER purchase_date
|
||||
Date accessory was purchased
|
||||
|
||||
.PARAMETER purchase_cost
|
||||
Cost of item being purchased.
|
||||
|
||||
.PARAMETER url
|
||||
URL of Snipeit system, can be set using Set-SnipeitInfo command
|
||||
|
||||
.PARAMETER apiKey
|
||||
User's API Key for Snipeit, can be set using Set-SnipeitInfo command
|
||||
|
||||
.EXAMPLE
|
||||
An example
|
||||
|
||||
.NOTES
|
||||
General notes
|
||||
#>
|
||||
function Set-SnipeitComponent()
|
||||
{
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Medium"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[int]$id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[int]$qty,
|
||||
|
||||
[string]$name,
|
||||
|
||||
[int]$company_id,
|
||||
|
||||
[int]$location_id,
|
||||
|
||||
|
||||
[string]$order_number,
|
||||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[float]$purchase_cost,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
if ($values['purchase_date']) {
|
||||
$values['purchase_date'] = $values['purchase_date'].ToString("yyyy-MM-dd")
|
||||
}
|
||||
|
||||
$Body = $values | ConvertTo-Json;
|
||||
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/components/$id"
|
||||
Method = 'Patch'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
}
|
||||
|
||||
If ($PSCmdlet.ShouldProcess("ShouldProcess?"))
|
||||
{
|
||||
$result = Invoke-SnipeitMethod @Parameters
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
179
SnipeitPS/Public/Set-SnipeitConsumable.ps1
Normal file
179
SnipeitPS/Public/Set-SnipeitConsumable.ps1
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Add a new Consumable to Snipe-it asset system
|
||||
|
||||
.DESCRIPTION
|
||||
Long description
|
||||
|
||||
.PARAMETER id
|
||||
Optional id number of the Consumable
|
||||
|
||||
.PARAMETER name
|
||||
Optional Name of the Consumable
|
||||
|
||||
.PARAMETER qty
|
||||
Optional Quantity of comsumable
|
||||
|
||||
.PARAMETER category_id
|
||||
Required Category ID of the Consumable, this can be got using Get-SnipeitCategory
|
||||
|
||||
.PARAMETER min_amt
|
||||
Optional minimum quantity of comsumable
|
||||
|
||||
.PARAMETER company_id
|
||||
Optional Company id
|
||||
|
||||
.PARAMETER order_number
|
||||
Optional Order number
|
||||
|
||||
.PARAMETER manufacturer_id
|
||||
Manufaturer id number of the consumable
|
||||
|
||||
.PARAMETER location_id
|
||||
Location id number of the consumable
|
||||
|
||||
.PARAMETER requestable
|
||||
Is consumable requestable?
|
||||
|
||||
.PARAMETER purchase_date
|
||||
Optional Purchase cost of the consumable
|
||||
|
||||
.PARAMETER purchase_cost
|
||||
Optional Purchase cost of the consumable
|
||||
|
||||
.PARAMETER model_number
|
||||
Model number of the consumable in months
|
||||
|
||||
.PARAMETER item_no
|
||||
Item number for the consumable
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
|
||||
|
||||
|
||||
.EXAMPLE
|
||||
New-Snipeitconsumable -name "Ink pack" -qty 20 -category_id 3 -min_amt 5
|
||||
Create consumable with stock count 20 , alert when stock is 5 or lower
|
||||
|
||||
#>
|
||||
|
||||
function Set-SnipeitConsumable() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[int[]]$id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$name,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$qty,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$category_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[Nullable[System.Int32]]$min_amt,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[Nullable[System.Int32]]$company_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$order_number,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[Nullable[System.Int32]]$manufacturer_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[Nullable[System.Int32]]$location_id,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[bool]$requestable,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$purchase_cost,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$model_number,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$item_no,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
|
||||
)
|
||||
begin {
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
if ($Values['purchase_date']) {
|
||||
$Values['purchase_date'] = $Values['purchase_date'].ToString("yyyy-MM-dd")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($consumable_id in $id ) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/consumables/$consumable_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
124
SnipeitPS/Public/Set-SnipeitCustomField.ps1
Normal file
124
SnipeitPS/Public/Set-SnipeitCustomField.ps1
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Add a new Custom Field to Snipe-it asset system
|
||||
|
||||
.DESCRIPTION
|
||||
Add a new Custom Field to Snipe-it asset system
|
||||
|
||||
.PARAMETER name
|
||||
The field's name, which is also the form label
|
||||
|
||||
.PARAMETER element
|
||||
Form field type that should be displayed.
|
||||
|
||||
.PARAMETER field_values
|
||||
In the case of list boxes, etc, this should be a list of the options available
|
||||
|
||||
.PARAMETER show_in_email
|
||||
Whether or not to show the custom field in email notifications
|
||||
|
||||
.PARAMETER format
|
||||
How the field should be validated
|
||||
|
||||
.PARAMETER custom_format
|
||||
In the case of format 'CUSTOM REGEX', this should be validation regex this field
|
||||
|
||||
.PARAMETER field_encrypted
|
||||
Whether the field should be encrypted. (This can cause issues if you change it after the field was created.)
|
||||
|
||||
.PARAMETER help_text
|
||||
Any additional text you wish to display under the new form field to make it clearer what the gauges should be.
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Put you could use Patch if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
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() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[string]$name,
|
||||
|
||||
[string]$help_text,
|
||||
|
||||
[parameter(Mandatory=$true)]
|
||||
[ValidateSet('text','textarea','listbox','checkbox','radio')]
|
||||
[string]$element ,
|
||||
|
||||
[ValidateSet('ANY','CUSTOM REGEX','ALPHA','ALPHA-DASH','NUMERIC','ALPHA-NUMERIC','EMAIL','DATE','URL','IP','IPV4','IPV6','MAC','BOOLEAN')]
|
||||
[string]$format,
|
||||
|
||||
[string]$field_values,
|
||||
|
||||
[bool]$field_encrypted,
|
||||
|
||||
[bool]$show_in_email,
|
||||
|
||||
[string]$custom_format,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Put",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
begin {
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
if ($format -eq 'CUSTOM REGEX' -and (-not $custom_format)) {
|
||||
throw "Please specify regex validation with -custom_format when using -format 'CUSTOM REGEX'"
|
||||
}
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
}
|
||||
|
||||
process{
|
||||
foreach($field_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/fields/$field_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
115
SnipeitPS/Public/Set-SnipeitDepartment.ps1
Normal file
115
SnipeitPS/Public/Set-SnipeitDepartment.ps1
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Updates a department
|
||||
|
||||
.DESCRIPTION
|
||||
Updates the department on Snipe-It system
|
||||
|
||||
.PARAMETER id
|
||||
Id number of Department
|
||||
|
||||
.PARAMETER name
|
||||
Department Name
|
||||
|
||||
.PARAMETER company_id
|
||||
ID number of company
|
||||
|
||||
.PARAMETER location_id
|
||||
ID number of location
|
||||
|
||||
.PARAMETER manager_id
|
||||
ID number of manager
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Set-SnipeitDepartment -id 4 -manager_id 3
|
||||
|
||||
#>
|
||||
|
||||
function Set-SnipeitDepartment() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[string]$name,
|
||||
|
||||
[Nullable[System.Int32]]$company_id,
|
||||
|
||||
[Nullable[System.Int32]]$location_id,
|
||||
|
||||
[Nullable[System.Int32]]$manager_id,
|
||||
|
||||
[string]$notes,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
}
|
||||
|
||||
process {
|
||||
foreach ($department_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/departments/$department_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,11 +59,14 @@
|
|||
.PARAMETER termination_date
|
||||
Termination date for license.
|
||||
|
||||
.PARAMETER RequestType
|
||||
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
|
||||
|
|
@ -89,12 +92,11 @@ function Set-SnipeitLicense() {
|
|||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$category_id,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$company_id,
|
||||
|
||||
[Nullable[System.Int32]]$company_id,
|
||||
|
||||
[datetime]$expiration_date,
|
||||
|
||||
[ValidateLength(1, 120)]
|
||||
[mailaddress]$license_email,
|
||||
|
||||
[ValidateLength(1, 100)]
|
||||
|
|
@ -118,50 +120,68 @@ function Set-SnipeitLicense() {
|
|||
|
||||
[string]$serial,
|
||||
|
||||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$supplier_id,
|
||||
[Nullable[System.Int32]]$supplier_id,
|
||||
|
||||
[datetime]$termination_date,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin{
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$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['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")
|
||||
if ($Values['termination_date']) {
|
||||
$Values['termination_date'] = $Values['termination_date'].ToString("yyyy-MM-dd")
|
||||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($license_id in $id){
|
||||
foreach($license_id in $id) {
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/licenses/$license_id"
|
||||
Method = 'PUT'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
Api = "/api/v1/licenses/$license_id"
|
||||
Method = $RequestType
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,23 +16,29 @@
|
|||
.PARAMETER note
|
||||
Notes about checkout
|
||||
|
||||
.PARAMETER RequestType
|
||||
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 -Verbose
|
||||
Set-SnipeitLicenceSeat -ID 1 -seat_id 1 -assigned_id 3
|
||||
Checkout licence to user id 3
|
||||
|
||||
.EXAMPLE
|
||||
Set-SnipeitLicenceSeat -ID 1 -seat_id 1 -asset_id 3 -Verbose
|
||||
Set-SnipeitLicenceSeat -ID 1 -seat_id 1 -asset_id 3
|
||||
Checkout licence to asset id 3
|
||||
|
||||
.EXAMPLE
|
||||
Set-SnipeitLicenceSeat -ID 1 -seat_id 1 -asset_id $null -assigned_id $null
|
||||
Checkin licence seat id 1 of licence id 1
|
||||
|
||||
#>
|
||||
function Set-SnipeitLicenseSeat()
|
||||
{
|
||||
function Set-SnipeitLicenseSeat() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Medium"
|
||||
|
|
@ -46,40 +52,58 @@ function Set-SnipeitLicenseSeat()
|
|||
[int]$seat_id,
|
||||
|
||||
[Alias('assigned_id')]
|
||||
[int]$assigned_to,
|
||||
|
||||
[int]$asset_id,
|
||||
[Nullable[System.Int32]]$assigned_to,
|
||||
|
||||
|
||||
[Nullable[System.Int32]]$asset_id,
|
||||
|
||||
[string]$note,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin{
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
}
|
||||
|
||||
process{
|
||||
foreach($license_id in $id) {
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/licenses/$license_id/seats/$seat_id"
|
||||
Method = 'Patch'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
Api = "/api/v1/licenses/$license_id/seats/$seat_id"
|
||||
Method = $RequestType
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,11 +44,20 @@
|
|||
.PARAMETER parent_id
|
||||
Parent location as id
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
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
|
||||
|
|
@ -82,16 +91,24 @@ function Set-SnipeitLocation() {
|
|||
|
||||
[string]$currency,
|
||||
|
||||
[int]$manager_id,
|
||||
[Nullable[System.Int32]]$manager_id,
|
||||
|
||||
[string]$ldap_ou,
|
||||
|
||||
[int]$parent_id,
|
||||
[Nullable[System.Int32]]$parent_id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
|
|
@ -99,25 +116,39 @@ function Set-SnipeitLocation() {
|
|||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
}
|
||||
|
||||
process{
|
||||
foreach ($location_id in $id) {
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/locations/$location_id"
|
||||
Method = 'PUT'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
Api = "/api/v1/locations/$location_id"
|
||||
Method = $RequestType
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
93
SnipeitPS/Public/Set-SnipeitManufacturer.ps1
Normal file
93
SnipeitPS/Public/Set-SnipeitManufacturer.ps1
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Add a new Manufacturer to Snipe-it asset system
|
||||
|
||||
.DESCRIPTION
|
||||
Long description
|
||||
|
||||
.PARAMETER Name
|
||||
Name of the Manufacturer
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
New-SnipeitManufacturer -name "HP"
|
||||
#>
|
||||
|
||||
function Set-SnipeitManufacturer() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$Name,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin{
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
}
|
||||
|
||||
process{
|
||||
foreach ($manufacturer_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/manufacturers/$manufacturer_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -23,11 +23,20 @@
|
|||
.PARAMETER fieldset_id
|
||||
Fieldset ID that the asset uses (Custom fields)
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
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
|
||||
|
|
@ -52,16 +61,23 @@ function Set-SnipeitModel() {
|
|||
|
||||
[int]$manufacturer_id,
|
||||
|
||||
[ValidateRange(1, 240)]
|
||||
[int]$eol,
|
||||
[Nullable[System.Int32]]$eol,
|
||||
|
||||
[Alias("fieldset_id")]
|
||||
[int]$custom_fieldset_id,
|
||||
[Nullable[System.Int32]]$custom_fieldset_id,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
|
|
@ -70,22 +86,37 @@ function Set-SnipeitModel() {
|
|||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
}
|
||||
process {
|
||||
foreach ($model_id in $id) {
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/models/$model_id"
|
||||
Method = 'put'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
Api = "/api/v1/models/$model_id"
|
||||
Method = $RequestType
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
103
SnipeitPS/Public/Set-SnipeitStatus.ps1
Normal file
103
SnipeitPS/Public/Set-SnipeitStatus.ps1
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Sets Snipe-it Status Labels
|
||||
|
||||
.PARAMETER id
|
||||
A id of specific Status Label
|
||||
|
||||
|
||||
.PARAMETER color
|
||||
Hex code showing what color the status label should be on the pie chart in the dashboard
|
||||
|
||||
.PARAMETER show_in_nav
|
||||
1 or 0 - determine whether the status label should show in the left-side nav of the web GUI
|
||||
|
||||
.PARAMETER default_label
|
||||
1 or 0 - determine whether it should be bubbled up to the top of the list of available statuses
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. Users API Key for Snipeit.
|
||||
|
||||
.EXAMPLE
|
||||
Get-SnipeitStatus -search "Ready to Deploy"
|
||||
|
||||
.EXAMPLE
|
||||
Set-SnipeitStatus -id 3 -name 'Waiting for arrival' -type pending
|
||||
|
||||
#>
|
||||
|
||||
function Set-SnipeitStatus() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Medium"
|
||||
)]
|
||||
Param(
|
||||
[parameter(Mandatory=$true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[string]$name,
|
||||
|
||||
[parameter(Mandatory=$true)]
|
||||
[ValidateSet('deployable','undeployable','pending','archived')]
|
||||
[string]$type,
|
||||
|
||||
[string]$notes,
|
||||
|
||||
[string]$color,
|
||||
|
||||
[bool]$show_in_nav,
|
||||
|
||||
[bool]$default_label,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
}
|
||||
|
||||
process {
|
||||
foreach($status_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/statuslabels/$status_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
$result
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
150
SnipeitPS/Public/Set-SnipeitSupplier.ps1
Normal file
150
SnipeitPS/Public/Set-SnipeitSupplier.ps1
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
<#
|
||||
.SYNOPSIS
|
||||
Modify the supplier
|
||||
|
||||
.DESCRIPTION
|
||||
Modifieds the supplier on Snipe-It system
|
||||
|
||||
.PARAMETER name
|
||||
Suppiers Name
|
||||
|
||||
.PARAMETER address
|
||||
Address line 1 of supplier
|
||||
|
||||
.PARAMETER address2
|
||||
Address line 1 of supplier
|
||||
|
||||
.PARAMETER city
|
||||
City
|
||||
|
||||
.PARAMETER state
|
||||
State
|
||||
|
||||
.PARAMETER country
|
||||
Country
|
||||
|
||||
.PARAMETER zip
|
||||
Zip code
|
||||
|
||||
.PARAMETER phone
|
||||
Phone number
|
||||
|
||||
.PARAMETER fax
|
||||
Fax number
|
||||
|
||||
.PARAMETER email
|
||||
Email address
|
||||
|
||||
.PARAMETER contact
|
||||
Contact person
|
||||
|
||||
.PARAMETER notes
|
||||
Email address
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
Http request type to send Snipe IT system. Defaults to Patch you could use Put if needed.
|
||||
|
||||
.PARAMETER url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead. URL of Snipeit system.
|
||||
|
||||
.PARAMETER apiKey
|
||||
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
|
||||
|
||||
#>
|
||||
|
||||
function Set-SnipeitSupplier() {
|
||||
[CmdletBinding(
|
||||
SupportsShouldProcess = $true,
|
||||
ConfirmImpact = "Low"
|
||||
)]
|
||||
|
||||
Param(
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$name,
|
||||
|
||||
[string]$address,
|
||||
|
||||
[string]$address2,
|
||||
|
||||
[string]$city,
|
||||
|
||||
[string]$state,
|
||||
|
||||
[string]$country,
|
||||
|
||||
[string]$zip,
|
||||
|
||||
[string]$phone,
|
||||
|
||||
[string]$fax,
|
||||
|
||||
[string]$email,
|
||||
|
||||
[string]$contact,
|
||||
|
||||
[string]$notes,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
|
||||
begin {
|
||||
Test-SnipeitAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
}
|
||||
process {
|
||||
foreach ($supplier_id in $id) {
|
||||
$Parameters = @{
|
||||
Api = "/api/v1/suppliers/$supplier_id"
|
||||
Method = $RequestType
|
||||
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
|
||||
}
|
||||
|
||||
$result
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
# reset legacy sessions
|
||||
if ($PSBoundParameters.ContainsKey('url') -and '' -ne [string]$url -or $PSBoundParameters.ContainsKey('apiKey') -and '' -ne [string]$apiKey) {
|
||||
Reset-SnipeitPSLegacyApi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -20,6 +20,9 @@
|
|||
.PARAMETER activated
|
||||
Can user log in to snipe-it?
|
||||
|
||||
.PARAMETER password
|
||||
Password for user
|
||||
|
||||
.PARAMETER notes
|
||||
User Notes
|
||||
|
||||
|
|
@ -44,17 +47,29 @@
|
|||
.PARAMETER manager_id
|
||||
ID number of manager
|
||||
|
||||
.PARAMETER groups
|
||||
ID numbers of groups
|
||||
|
||||
.PARAMETER employee_num
|
||||
Employeenumber
|
||||
|
||||
.PARAMETER ldap_import
|
||||
Mark user as import from ldap
|
||||
|
||||
.PARAMETER image
|
||||
Image file name and path for item
|
||||
|
||||
.PARAMETER image_delete
|
||||
Remove current image
|
||||
|
||||
.PARAMETER RequestType
|
||||
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
|
||||
|
|
@ -74,41 +89,52 @@ function Set-SnipeitUser() {
|
|||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[ValidateLength(1,256)]
|
||||
[string]$first_name,
|
||||
|
||||
[string]$last_name,
|
||||
|
||||
[string]$userName,
|
||||
|
||||
[ValidateLength(1,256)]
|
||||
[string]$username,
|
||||
|
||||
[string]$jobtitle,
|
||||
|
||||
|
||||
[string]$email,
|
||||
|
||||
|
||||
[string]$phone,
|
||||
|
||||
[int]$company_id,
|
||||
[string]$password,
|
||||
|
||||
[int]$location_id,
|
||||
[Nullable[System.Int32]]$company_id,
|
||||
|
||||
[int]$department_id,
|
||||
[Nullable[System.Int32]]$location_id,
|
||||
|
||||
[int]$manager_id,
|
||||
[Nullable[System.Int32]]$department_id,
|
||||
|
||||
[Nullable[System.Int32]]$manager_id,
|
||||
|
||||
[int[]]$groups,
|
||||
|
||||
[string]$employee_num,
|
||||
|
||||
[bool]$activated,
|
||||
|
||||
|
||||
[string]$notes,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[bool]$ldap_import,
|
||||
|
||||
[ValidateScript({Test-Path $_})]
|
||||
[string]$image,
|
||||
|
||||
[switch]$image_delete=$false,
|
||||
|
||||
[ValidateSet("Put","Patch")]
|
||||
[string]$RequestType = "Patch",
|
||||
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$url,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
[parameter(mandatory = $false)]
|
||||
[string]$apiKey
|
||||
)
|
||||
begin{
|
||||
|
|
@ -116,23 +142,42 @@ function Set-SnipeitUser() {
|
|||
|
||||
$Values = . Get-ParameterValue -Parameters $MyInvocation.MyCommand.Parameters -BoundParameters $PSBoundParameters
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
if ($password) {
|
||||
$Values['password_confirmation'] = $password
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
process{
|
||||
foreach($user_id in $id) {
|
||||
$Parameters = @{
|
||||
Uri = "$url/api/v1/users/$user_id"
|
||||
Api = "/api/v1/users/$user_id"
|
||||
Method = 'PATCH'
|
||||
Body = $Body
|
||||
Token = $apiKey
|
||||
Body = $Values
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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])"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
RootModule = 'SnipeitPS'
|
||||
|
||||
# Version number of this module.
|
||||
ModuleVersion = '1.5'
|
||||
ModuleVersion = '1.10'
|
||||
|
||||
# Supported PSEditions
|
||||
# CompatiblePSEditions = @()
|
||||
|
|
@ -33,7 +33,7 @@ Copyright = '(c) 2017 Stephen Maunder. All rights reserved.'
|
|||
Description = 'Powershell API for Snipeit Asset Management'
|
||||
|
||||
# Minimum version of the Windows PowerShell engine required by this module
|
||||
PowerShellVersion = '3.0'
|
||||
PowerShellVersion = '5.1'
|
||||
|
||||
# Name of the Windows PowerShell host required by this module
|
||||
# PowerShellHostName = ''
|
||||
|
|
@ -70,53 +70,80 @@ PowerShellVersion = '3.0'
|
|||
|
||||
# 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',
|
||||
'Get-SnipeitAsset',
|
||||
'Get-SnipeitAssetMaintenance',
|
||||
'Get-SnipeitCategory',
|
||||
'Get-SnipeitCompany',
|
||||
'Get-SnipeitComponent',
|
||||
'Get-SnipeitConsumable',
|
||||
'Get-SnipeitCustomField',
|
||||
'Get-SnipeitDepartment',
|
||||
'Get-SnipeitFieldset',
|
||||
'Get-SnipeitLicense',
|
||||
'Get-SnipeitLicenseSeat',
|
||||
'Get-SnipeitLocation',
|
||||
'Get-SnipeitManufacturer',
|
||||
'Get-SnipeitModel',
|
||||
'Get-SnipeitStatus',
|
||||
'Get-SnipeitSupplier',
|
||||
'Get-SnipeitUser',
|
||||
'New-SnipeitAccessory',
|
||||
'New-SnipeitAsset',
|
||||
'New-SnipeitAssetMaintenance',
|
||||
'New-SnipeItAudit',
|
||||
'New-SnipeitCategory',
|
||||
'New-SnipeitCompany',
|
||||
'New-SnipeitComponent',
|
||||
'New-SnipeitConsumable',
|
||||
'New-SnipeitCustomField',
|
||||
'New-SnipeitDepartment',
|
||||
'New-SnipeitLicense',
|
||||
'Set-SnipeitLicense',
|
||||
'Get-SnipeitLicense',
|
||||
'Get-SnipeitLicenseSeat',
|
||||
'Set-SnipeitLicenseSeat',
|
||||
'New-SnipeitLocation',
|
||||
'New-SnipeitManufacturer',
|
||||
'New-SnipeitModel',
|
||||
'New-SnipeitSupplier',
|
||||
'New-SnipeitUser',
|
||||
'Remove-SnipeitAccessory',
|
||||
'Remove-SnipeitAsset',
|
||||
'Remove-SnipeitAssetMaintenance',
|
||||
'Remove-SnipeitCategory',
|
||||
'Remove-SnipeitCompany',
|
||||
'Remove-SnipeitComponent',
|
||||
'Remove-SnipeitConsumable',
|
||||
'Remove-SnipeitCustomField',
|
||||
'Remove-SnipeitDepartment',
|
||||
'Remove-SnipeitLicense',
|
||||
'Remove-SnipeitLocation',
|
||||
'Remove-SnipeitManufacturer',
|
||||
'Remove-SnipeitModel',
|
||||
'Remove-SnipeitSupplier',
|
||||
'Remove-SnipeitUser',
|
||||
'Reset-SnipeitAccessoryOwner',
|
||||
'Reset-SnipeitAssetOwner',
|
||||
'Set-SnipeitAccessory',
|
||||
'Set-SnipeitAccessoryOwner',
|
||||
'Set-SnipeitAsset',
|
||||
'Set-SnipeitAssetOwner',
|
||||
'Set-SnipeitCategory'
|
||||
'Set-SnipeitCompany'
|
||||
'Set-SnipeitComponent',
|
||||
'Set-SnipeitModel',
|
||||
'Set-SnipeitConsumable',
|
||||
'Set-SnipeitCustomField',
|
||||
'Set-SnipeitDepartment',
|
||||
'Set-SnipeitInfo',
|
||||
'Set-SnipeitUser',
|
||||
'Set-SnipeitLicense',
|
||||
'Set-SnipeitLicenseSeat',
|
||||
'Set-SnipeitLocation',
|
||||
'Add-SnipeitAccessory',
|
||||
'Set-SnipeitAccessory',
|
||||
'Get-SnipeitAccessory',
|
||||
'Remove-SnipeitAsset',
|
||||
'Remove-SnipeitUser',
|
||||
'Update-SnipeitAlias',
|
||||
'Set-SnipeitAccessoryOwner',
|
||||
'Get-SnipeitAccessoryOwner',
|
||||
'Reset-SnipeitAccessoryOwner',
|
||||
'Get-SnipeitActivity'
|
||||
|
||||
'Set-SnipeitManufacturer',
|
||||
'Set-SnipeitModel',
|
||||
'Set-SnipeitStatus',
|
||||
'Set-SnipeitSupplier',
|
||||
'Set-SnipeitUser',
|
||||
'Update-SnipeitAlias'
|
||||
)
|
||||
|
||||
# Cmdlets 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 cmdlets to export.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
40
appveyor.yml
40
appveyor.yml
|
|
@ -7,14 +7,17 @@
|
|||
#
|
||||
############################################################
|
||||
|
||||
# This tells AppVeyor that we need WMF 5 and PowerShell 5.0
|
||||
os: WMF 5
|
||||
# powershell core and 5.1
|
||||
image:
|
||||
- Visual Studio 2017
|
||||
- Visual Studio 2019
|
||||
|
||||
environment:
|
||||
PSGalleryAPIKey:
|
||||
secure: UdM6qhf5B0G8liHhUrwWERCZr44iSqmg4jUq0lwlTjZs4KyeoiwnBzdej0phqIAm
|
||||
PShell: '5'
|
||||
|
||||
version: 1.5.{build}
|
||||
version: 1.10.{build}
|
||||
|
||||
# Don't rebuild when I tag a release on GitHub
|
||||
skip_tags: true
|
||||
|
|
@ -53,15 +56,40 @@ before_build:
|
|||
build_script:
|
||||
- ps: Invoke-Build -Task Build
|
||||
|
||||
# after_build:
|
||||
# - cmd: mdspell %releasePath%\**/*.md --ignore-numbers --ignore-acronyms --report
|
||||
|
||||
test_script:
|
||||
- ps: Invoke-Build -Task Test
|
||||
|
||||
before_deploy:
|
||||
- ps: Invoke-Build -Task Deploy
|
||||
|
||||
#Build with powershell core
|
||||
for:
|
||||
-
|
||||
matrix:
|
||||
only:
|
||||
- image: Visual Studio 2019
|
||||
environment:
|
||||
PShell: '7'
|
||||
install:
|
||||
- pwsh: |
|
||||
Install-Module InvokeBuild -Scope CurrentUser -Force
|
||||
Install-Module BuildHelpers -Scope CurrentUser -Force
|
||||
Install-Module platyPS -Scope CurrentUser -Force
|
||||
Install-Module Pester -Scope CurrentUser -Force
|
||||
Install-Module PSScriptAnalyzer -Scope CurrentUser -Force
|
||||
$env:releasePath = "$($pwd.Path)\Release"
|
||||
before_build:
|
||||
- pwsh: Invoke-Build -Task ShowDebug
|
||||
build_script:
|
||||
- pwsh: Invoke-Build -Task Build
|
||||
|
||||
test_script:
|
||||
- pwsh: Invoke-Build -Task Test
|
||||
|
||||
before_deploy:
|
||||
- pwsh: Invoke-Build -Task Deploy
|
||||
|
||||
|
||||
deploy:
|
||||
provider: GitHub
|
||||
release: v$(appveyor_build_version)
|
||||
|
|
|
|||
137
docs/Connect-SnipeitPS.md
Normal file
137
docs/Connect-SnipeitPS.md
Normal 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
|
||||
|
|
@ -16,12 +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>]
|
||||
```
|
||||
|
||||
## DESCRIPTION
|
||||
|
|
@ -39,6 +44,12 @@ Get-SnipeitAccessory -search Keyboard
|
|||
Get-SnipeitAccessory -id 1
|
||||
```
|
||||
|
||||
### EXAMPLE 3
|
||||
```
|
||||
Get-SnipeitAccessory -user_id 1
|
||||
Get accessories checked out to user ID 1
|
||||
```
|
||||
|
||||
## PARAMETERS
|
||||
|
||||
### -all
|
||||
|
|
@ -46,7 +57,7 @@ A return all results, works with -offset and other parameters
|
|||
|
||||
```yaml
|
||||
Type: SwitchParameter
|
||||
Parameter Sets: Search
|
||||
Parameter Sets: Search, Accessories checked out to user id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
|
|
@ -57,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
|
||||
|
|
@ -224,20 +236,36 @@ 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
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -user_id
|
||||
{{ Fill user_id Description }}
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Accessories checked out to user id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
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).
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -12,27 +12,51 @@ Gets a list of Snipe-it Assets or specific asset
|
|||
|
||||
## SYNTAX
|
||||
|
||||
### Search
|
||||
### Search (Default)
|
||||
```
|
||||
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>]
|
||||
```
|
||||
|
||||
### Assets overdue for auditing
|
||||
```
|
||||
Get-SnipeitAsset [-audit_overdue] [-sort <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>] [-all]
|
||||
[-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>]
|
||||
```
|
||||
|
||||
### Assets with component id
|
||||
```
|
||||
Get-SnipeitAsset [-component_id <Int32>] [-sort <String>] [-order <String>] [-limit <Int32>] [-offset <Int32>]
|
||||
[-all] [-url <String>] [-apiKey <String>] [<CommonParameters>]
|
||||
```
|
||||
|
||||
## DESCRIPTION
|
||||
|
|
@ -42,22 +66,56 @@ Get-SnipeitAsset [-serial <String>] -url <String> -apiKey <String> [<CommonParam
|
|||
|
||||
### EXAMPLE 1
|
||||
```
|
||||
Get-SnipeitAsset -url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -all
|
||||
Returens all assets
|
||||
```
|
||||
|
||||
### EXAMPLE 2
|
||||
```
|
||||
Get-SnipeitAsset -search "myMachine"-url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -search "myMachine"
|
||||
Search for specific asset
|
||||
```
|
||||
|
||||
### EXAMPLE 3
|
||||
```
|
||||
Get-SnipeitAsset -search "myMachine"-url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -id 3
|
||||
Get asset with id number 3
|
||||
```
|
||||
|
||||
### EXAMPLE 4
|
||||
```
|
||||
Get-SnipeitAsset -asset_tag "myAssetTag"-url "https://assets.example.com"-token "token..."
|
||||
Get-SnipeitAsset -asset_tag snipe0003
|
||||
Get asset with asset tag snipe00033
|
||||
```
|
||||
|
||||
### EXAMPLE 5
|
||||
```
|
||||
Get-SnipeitAsset -serial 1234
|
||||
Get asset with searial number 1234
|
||||
```
|
||||
|
||||
### EXAMPLE 6
|
||||
```
|
||||
Get-SnipeitAsser -audit_due
|
||||
Get Assets due auditing soon
|
||||
```
|
||||
|
||||
### EXAMPLE 7
|
||||
```
|
||||
Get-SnipeitAsser -audit_overdue
|
||||
Get Assets overdue for auditing
|
||||
```
|
||||
|
||||
### EXAMPLE 8
|
||||
```
|
||||
Get-AnipeitAsset -user_id 4
|
||||
Get Assets checked out to user id 4
|
||||
```
|
||||
|
||||
### EXAMPLE 9
|
||||
```
|
||||
Get-SnipeitAsset -component_id 5
|
||||
Get Assets with component id 5
|
||||
```
|
||||
|
||||
## PARAMETERS
|
||||
|
|
@ -67,7 +125,7 @@ A return all results, works with -offset and other parameters
|
|||
|
||||
```yaml
|
||||
Type: SwitchParameter
|
||||
Parameter Sets: Search
|
||||
Parameter Sets: Search, Assets due auditing soon, Assets overdue for auditing, Assets checked out to user id, Assets with component id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
|
|
@ -78,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
|
||||
|
|
@ -107,6 +166,36 @@ Accept pipeline input: False
|
|||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -audit_due
|
||||
Retrieve a list of assets that are due for auditing soon.
|
||||
|
||||
```yaml
|
||||
Type: SwitchParameter
|
||||
Parameter Sets: Assets due auditing soon
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: False
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -audit_overdue
|
||||
Retrieve a list of assets that are overdue for auditing.
|
||||
|
||||
```yaml
|
||||
Type: SwitchParameter
|
||||
Parameter Sets: Assets overdue for auditing
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: False
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -category_id
|
||||
Optionally restrict asset results to this category ID
|
||||
|
||||
|
|
@ -137,6 +226,21 @@ Accept pipeline input: False
|
|||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -component_id
|
||||
{{ Fill component_id Description }}
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Assets with component id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -depreciation_id
|
||||
{{ Fill depreciation_id Description }}
|
||||
|
||||
|
|
@ -174,7 +278,7 @@ Defines batch size for -all
|
|||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Parameter Sets: Search, Assets due auditing soon, Assets overdue for auditing, Assets checked out to user id, Assets with component id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
|
|
@ -234,7 +338,7 @@ Offset to use
|
|||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Parameter Sets: Search, Assets due auditing soon, Assets overdue for auditing, Assets checked out to user id, Assets with component id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
|
|
@ -249,12 +353,12 @@ Specify the order (asc or desc) you wish to order by on your sort column
|
|||
|
||||
```yaml
|
||||
Type: String
|
||||
Parameter Sets: Search
|
||||
Parameter Sets: Search, Assets due auditing soon, Assets overdue for auditing, Assets checked out to user id, Assets with component id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: Desc
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
|
@ -324,12 +428,12 @@ Specify the column name you wish to sort by
|
|||
|
||||
```yaml
|
||||
Type: String
|
||||
Parameter Sets: Search
|
||||
Parameter Sets: Search, Assets due auditing soon, Assets overdue for auditing, Assets checked out to user id, Assets with component id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: Created_at
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
|
@ -365,20 +469,36 @@ 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
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -user_id
|
||||
{{ Fill user_id Description }}
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Assets checked out to user id
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
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).
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
275
docs/Get-SnipeitConsumable.md
Normal file
275
docs/Get-SnipeitConsumable.md
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
---
|
||||
external help file: SnipeitPS-help.xml
|
||||
Module Name: SnipeitPS
|
||||
online version:
|
||||
schema: 2.0.0
|
||||
---
|
||||
|
||||
# Get-SnipeitConsumable
|
||||
|
||||
## SYNOPSIS
|
||||
Gets a list of Snipe-it consumables
|
||||
|
||||
## SYNTAX
|
||||
|
||||
### Search (Default)
|
||||
```
|
||||
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>]
|
||||
```
|
||||
|
||||
### Get with ID
|
||||
```
|
||||
Get-SnipeitConsumable [-id <Int32[]>] [-url <String>] [-apiKey <String>] [<CommonParameters>]
|
||||
```
|
||||
|
||||
## DESCRIPTION
|
||||
{{ Fill in the Description }}
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
### EXAMPLE 1
|
||||
```
|
||||
Get-SnipeitConsumable -all
|
||||
Returns all consumables
|
||||
```
|
||||
|
||||
### EXAMPLE 2
|
||||
```
|
||||
Get-SnipeitConsumable -search paper
|
||||
Returns search results containeing string display
|
||||
```
|
||||
|
||||
### EXAMPLE 3
|
||||
```
|
||||
Get-Snipeitconsumable -id
|
||||
Returns specific consumable
|
||||
```
|
||||
|
||||
## PARAMETERS
|
||||
|
||||
### -all
|
||||
A return all results
|
||||
|
||||
```yaml
|
||||
Type: SwitchParameter
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: False
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -apiKey
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead.
|
||||
Users API Key for Snipeit.
|
||||
|
||||
```yaml
|
||||
Type: String
|
||||
Parameter Sets: (All)
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -category_id
|
||||
Id number of category
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -company_id
|
||||
Id number of company
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -expand
|
||||
Whether to include detailed information on categories, etc (true) or just the text name (false)
|
||||
|
||||
```yaml
|
||||
Type: SwitchParameter
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: False
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -id
|
||||
A id of specific consumable
|
||||
|
||||
```yaml
|
||||
Type: Int32[]
|
||||
Parameter Sets: Get with ID
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -limit
|
||||
Specify the number of results you wish to return.
|
||||
Defaults to 50.
|
||||
Defines batch size for -all
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 50
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -location_id
|
||||
{{ Fill location_id Description }}
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -manufacturer_id
|
||||
Id number of manufacturer
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -offset
|
||||
Offset to use
|
||||
|
||||
```yaml
|
||||
Type: Int32
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: 0
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -order
|
||||
Specify the order (asc or desc) you wish to order by on your sort column
|
||||
|
||||
```yaml
|
||||
Type: String
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: Desc
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -search
|
||||
A text string to search the consumables
|
||||
|
||||
```yaml
|
||||
Type: String
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -sort
|
||||
Sort results by column
|
||||
|
||||
```yaml
|
||||
Type: String
|
||||
Parameter Sets: Search
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
Position: Named
|
||||
Default value: Created_at
|
||||
Accept pipeline input: False
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
### -url
|
||||
Deprecated parameter, please use Connect-SnipeitPS instead.
|
||||
URL of Snipeit system.
|
||||
|
||||
```yaml
|
||||
Type: String
|
||||
Parameter Sets: (All)
|
||||
Aliases:
|
||||
|
||||
Required: False
|
||||
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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue