Compare commits
8 Commits
eaaf430e4d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 96211d9855 | |||
| 5528e21458 | |||
| 5d82c29fc4 | |||
| df3413c803 | |||
| 4b59567c49 | |||
| ebf10e51e0 | |||
| dfd3a41504 | |||
| bd16f69880 |
@@ -9,7 +9,9 @@
|
||||
.DESCRIPTION
|
||||
Lenovo computers contain a BIOS property to store a device's asset tag accessible via WMI/CIM.
|
||||
Get-CIMInstance -ClassName Win32_SystemEnclosure -NameSpace root\CIMV2 | Format-Table -Property SMBIOSAssetTag
|
||||
Unfortunately, this field is not writeable without the use of a tool from Lenovo. This script helps automate the process of obtaining the asset tag from Snipe-IT and writing it to the BIOS for later retrieval through WMI.
|
||||
Unfortunately, this field is not writeable without the use of a tool from Lenovo.
|
||||
This script helps automate the process of obtaining the asset tag from Snipe-IT and writing it to the BIOS for later retrieval through WMI.
|
||||
For more info: https://support.lenovo.com/us/en/downloads/ds039503-windows-utility-to-read-and-write-asset-id-information-for-window-10-64-bit-81-64-bit-8-64-bit-7-32-bit-64-bit-thinkpad
|
||||
#>
|
||||
|
||||
#region Check if running in elevated context
|
||||
@@ -42,11 +44,25 @@ $PSComputerInfo.Add("model_number", $($ComputerSystemProduct.Name))
|
||||
$PSComputerInfo.Add("model_name", $($ComputerSystemProduct.Version))
|
||||
#endregion Get asset information from WMI/CIM and add it to new hashtable
|
||||
|
||||
|
||||
function Load-EnvFile
|
||||
{
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Reads .env file and assigns the respective variables.
|
||||
|
||||
.DESCRIPTION
|
||||
This function reads the lines from the .env file in the present working directory and creates/assigns the necessary environment variables.
|
||||
|
||||
.EXAMPLE
|
||||
PS C:\> Load-EnvFile
|
||||
|
||||
.NOTES
|
||||
Additional information about the function.
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
Param ()
|
||||
param ()
|
||||
|
||||
if (!(Test-Path -Path .env)) { Write-Error ".env file does not exist in $((Get-Location).Path)\ `nPlease double check it exists and is named properly."; Exit 404 }
|
||||
$EnvFile = Get-Content .env | where { !([string]::IsNullOrWhiteSpace($_)) -and ($_ -notlike "#*") }
|
||||
foreach ($Line in $EnvFile)
|
||||
@@ -59,15 +75,33 @@ function Load-EnvFile
|
||||
|
||||
Load-EnvFile
|
||||
|
||||
function Get-SnipeAssetNumber
|
||||
function Get-SnipeAssetTag
|
||||
{
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Retrieve asset tag from Snipe-IT.
|
||||
|
||||
.DESCRIPTION
|
||||
This functions makes a request to the snipe-it API and retreives the appropriate asset's asset tag. The asset must already exist in Snipe-IT.
|
||||
|
||||
.PARAMETER Serial
|
||||
A description of the Serial parameter.
|
||||
|
||||
.EXAMPLE
|
||||
PS C:\> Get-SnipeAssetTag -Serial 'Value1'
|
||||
|
||||
.NOTES
|
||||
Additional information about the function.
|
||||
#>
|
||||
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[String]$Serial
|
||||
)
|
||||
$baseURI = $env:SNIPEIT_URL
|
||||
$hardwareURI = $baseURI + "hardware"
|
||||
|
||||
#$baseURI = $env:SNIPEIT_URL
|
||||
$hardwareURI = $env:SNIPEIT_URL + "hardware"
|
||||
$headers = @{ }
|
||||
$headers.Add("accept", "application/json")
|
||||
$headers.Add("Authorization", "Bearer $env:SNIPEIT_TOKEN")
|
||||
@@ -83,7 +117,7 @@ function Get-SnipeAssetNumber
|
||||
|
||||
If ($PSComputerInfo.manufacturer -like "Lenovo")
|
||||
{
|
||||
$SnipeAssetTag = Get-SnipeAssetNumber -Serial $PSComputerInfo.serial
|
||||
$SnipeAssetTag = Get-SnipeAssetTag -Serial $PSComputerInfo.serial
|
||||
|
||||
switch -wildcard ($PSComputerInfo.model_name)
|
||||
{
|
||||
@@ -120,8 +154,8 @@ else
|
||||
# SIG # Begin signature block
|
||||
# MIIvYQYJKoZIhvcNAQcCoIIvUjCCL04CAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCknNZ3BWTVBjx3
|
||||
# QI2DdsPw9Qtwj9YGGOLljsSJ2MVKqKCCKGYwggQyMIIDGqADAgECAgEBMA0GCSqG
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCJBhsRXcdT32Ra
|
||||
# zbQIki2HBD+5BCCe4l1pUYtHyICbQ6CCKGYwggQyMIIDGqADAgECAgEBMA0GCSqG
|
||||
# SIb3DQEBBQUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNo
|
||||
# ZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1p
|
||||
# dGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2VydmljZXMwHhcNMDQwMTAx
|
||||
@@ -340,35 +374,35 @@ else
|
||||
# MYIGUTCCBk0CAQEwaDBUMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBM
|
||||
# aW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0Eg
|
||||
# UjM2AhAtmKdfiMvdO1IQbTd6fBa6MA0GCWCGSAFlAwQCAQUAoEwwGQYJKoZIhvcN
|
||||
# AQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEIEtcCPjZMfhtxOgmQshL
|
||||
# couMo5iphBqNHVwI5LWPe1XHMA0GCSqGSIb3DQEBAQUABIICAAuNU2SEf35xaTGn
|
||||
# sXyh3xuXEFWRlGQWT310UFIRcy4PcDvEVj82DGkwo8CQRYOI3vRmfVq4esz5MP6K
|
||||
# oINNDBBci7VtrR7ls8esVE2+w4uj0AEBjT0I5hT4NVFvQiihQFyIYD+B/Ei0b22r
|
||||
# CEcxsr/0EDiugnfyZGPiN8AN/TEtobRh/sWmJTG+Ie3+8G17hs5JNhByVYLzo0hN
|
||||
# g3U48WZhje7nJJa61Z9TBaTSC3P02KZXemqADf/GFedco/SDeVac+ADiipuqJaFa
|
||||
# PSXrJiAxSmBmUwzdhUxrxF3Nq/f6rp1gpsSMUxSd/m0pCVIyWzlGThqt0G5HZp8g
|
||||
# hJ9Y+veLHZ8VWckGnr+bDdgW6Il0kW3JRqF90D8Htid3UF8bem+QpE/oyUzSyRkO
|
||||
# mLJ+hxzrFJMtZ6JGQs7PWP4t08ABGdlk18Sc7/JS5ywFMdVwOxj4bqAe9aEsbpy/
|
||||
# IASU3ROvNZiCDp2jFCYKRjJXm9tnxrOAyi2xSb7r7jHv83gNro0vWfmUOMCLhOrB
|
||||
# 6X8BzokKwxIv8ff7k2JwF4iBw+EaUSjlziur1Lo4WqF3Ie1Bo2neA7fqh2xWjhUY
|
||||
# fAfmrVw304LOr+xgV1CXFjAYLuWRC5NeZeA6fxiUGlYUTR/4AQ9urPIupkodzm1j
|
||||
# oXR45kXr+SEXasrarAn1G8ViNznMoYIDbDCCA2gGCSqGSIb3DQEJBjGCA1kwggNV
|
||||
# AQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEIEDwAiFZlky5cNkA+FBo
|
||||
# 4djAhgoUNQM6WJn+SB2FA9jSMA0GCSqGSIb3DQEBAQUABIICAAvcFaZi+OgYtVJx
|
||||
# uqSbgcZH64Rkl+jO/XYDlsWM+YC8O7imE/GI9PIUIPJIydB68p0Wy281yLLM79Gu
|
||||
# UA4mjGi4NEUcozQOpIeGQEfq2oWyuOmQzbOpqFVqnYBZ49WwKJaMUPppSm8V7e6O
|
||||
# ovKgdvLO2po9jpUrJn4CsYTLucR9wtIANnXW/4K+rFrf7Pyv4HkWT/SIDkRW/vgs
|
||||
# G+PiyR9CvjyhfCysL8wmwSBU+o2u+o0nBrnw+DF3yRgqQ8dtsocMa0W+8YToHfn3
|
||||
# Uk3bgIbgHcl9GkFrYCb1WkiOtzN1/PgRi9VgL8jLKuB+2R4vby9cbz1plcnD3vma
|
||||
# TCVdbSKHJyUkuMyoAz8w9JEWOeApKM3OocXBXkik2B7K5rUGv5RHKJ9Qxm8RascW
|
||||
# 7rvVl2GsXVk5EE1rJ8qdShMREXbFoi1Mfu6rEJcb7HD0Zx9BIMqnq9G5kJIZwdrp
|
||||
# MSZ+4FUjm9rxz4O8NRTZyFxYzlFXcrI54LqDKS8yC6jBsB2Y3Ji7Z3VfBqPJgry7
|
||||
# 6SAY6Gal3ODJag8LDUv20x+p+6epYHdAKJqOmjuw0Z5BuP2LES0HjDQirrh85jqi
|
||||
# 0gSa7NuxNaj+i3j5BIcfMas/NNyAdy0Snwn72/2ejIVgh0ILsCAo836eHLEYWh0m
|
||||
# tS8EB6L7Gvtt9ksip5vhM5qSrHmEoYIDbDCCA2gGCSqGSIb3DQEJBjGCA1kwggNV
|
||||
# AgEBMG8wWzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex
|
||||
# MTAvBgNVBAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hBMzg0IC0g
|
||||
# RzQCEAEHZJsIsKf+fdZUqPL0KfYwCwYJYIZIAWUDBAIBoIIBPTAYBgkqhkiG9w0B
|
||||
# CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNDEyMTcwMDM5NTJaMCsG
|
||||
# CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNDEyMTcwMTUzNDlaMCsG
|
||||
# CSqGSIb3DQEJNDEeMBwwCwYJYIZIAWUDBAIBoQ0GCSqGSIb3DQEBCwUAMC8GCSqG
|
||||
# SIb3DQEJBDEiBCDsQWi4AJ+q/D3ngPGfrAf5yiolSzU4btYkWbYvuysupTCBpAYL
|
||||
# SIb3DQEJBDEiBCB1Aks/69bE1azPpsxEV9EfL8HcE+A7hDTijYfiT40JpjCBpAYL
|
||||
# KoZIhvcNAQkQAgwxgZQwgZEwgY4wgYsEFETTk5zNG4h/hnrM2oHsrw9l/NJZMHMw
|
||||
# X6RdMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEw
|
||||
# LwYDVQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4NCAtIEc0
|
||||
# AhABB2SbCLCn/n3WVKjy9Cn2MA0GCSqGSIb3DQEBCwUABIIBgEHnjlrDy0Ax4u1e
|
||||
# iWOzYH2gf/PyLbPJWTJJtNr1CnQmcu6prIJcUA73DnSHrgndyRvVax2BsNNHFYwK
|
||||
# 6PPfUtSa9Tx5Znah+juAzkX7wpUBqGrXWyLEdDFteEZzORCs5gN6PuhL7P8Hccp4
|
||||
# G/MWpbOb354jZhb7s1UgPKkZcvLzl1N1WzR5NAbW3MSGKX6Aw91OHqGPi+03xAGP
|
||||
# UVmqCSovtnXNQoPgmOJSnqyU579mJPV03Tbngw1CrIupZBTkeXACfDyHoHwR4vTE
|
||||
# tUKJEhjwh0tINFTzC0tbcQKfkHpTzcjycAP+3cjXRUQzgA0EtYXdP2XovKmaQxsj
|
||||
# Fm3HOCuqprPQQ0XHrsmA8tCNJe+BHAkrDuxNdNfHS5KglnsQAt9qvnUdbf11MBPA
|
||||
# LWSsPb9P084++TtZi0znnZ9v8kpyOsav0GBXAXF8x/Q4T0oBOr50qsyjOpqNGBtm
|
||||
# Y4Xi489w64hG6Uk8T7CM725wUK0kxL2GAHQvkiCMagjwvzXYVA==
|
||||
# AhABB2SbCLCn/n3WVKjy9Cn2MA0GCSqGSIb3DQEBCwUABIIBgInml3C1WNWTqud/
|
||||
# dp8zBX6kfDszeYMejntA9kmdSexAdFdD1ev1bLwErzwAyrvOAK//fSXlnQYO/bxH
|
||||
# YVWrumxfXn6wDH+4GYMh41IYYhq/vdEnYPpY58zuOp9NlH/wGkwpRRXqm0mAks//
|
||||
# 6IG/o+kU4A5WdJ9izlCxnDTgYkyL8eX2I4hLOy+kLWD50YxkB2/UEhWak7pXoTQW
|
||||
# tMsb40lGQyBv5gCE8ReF2wzOLIG1DPXY0KAMeh8UgMcEzmYcx2UO3Y8qOObPLd04
|
||||
# QXC34p2sImfyeOb2Bi51tjnMNvTmkJIMO+K/W7U9eJLWAvOdrpMGDQSXsCfSAST0
|
||||
# k+DTMlEKNHPo5HHMqJpu31GtMfxr4wXWy+JjArSGazqVcx1GaaYb0zAxZZra3iC2
|
||||
# 3gfxX9BZ+Mc72F+gWn5mFPWyDOVEIorw6CwaRfZrJbt8sAzM6xCUl6AzKS2Cv4ah
|
||||
# ptCk+Z0/wU4F1qizniLiIUVtZ5bx+rseobhIJ+Le+RrSKt2Liw==
|
||||
# SIG # End signature block
|
||||
|
||||
Reference in New Issue
Block a user