Resolved issues with self elevation, general cleanup.

This commit is contained in:
Alexis Lazcano 2024-12-16 15:37:32 -06:00
parent 307723ce82
commit e144217834

View File

@ -1,26 +1,31 @@
<#
<#
.NOTES
===========================================================================
Created on: 12/13/2024 2:46 PM
Created by: Alexis Lazcano
===========================================================================
===========================================================================
Created on: 12/13/2024 2:46 PM
Created by: Alexis Lazcano
===========================================================================
.SYNOPSIS
A brief description of the Lenovo-Asset-Tag-Writer.ps1 file.
.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.
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.
#>
#Check if running as Administrator...
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
{
# If not elevated, re-launch the script with elevated privileges
$CommandLine = "-File `"" + $MyInvocation.MyCommand.Path + "`" " + $MyInvocation.UnboundArguments
Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList $CommandLine
$params = @{
FilePath = "powershell.exe"
Verb = "RunAs"
ArgumentList = "-NoExit", "-Command `"cd '$pwd'; & '$PSCommandPath';`""
WorkingDirectory = "$(Split-Path $MyInvocation.MyCommand.Path -Parent)"
}
Start-Process @params -Wait
exit
}
$VerbosePreference = 'SilentlyContinue'
$ScriptRoot = "$env:PROGRAMFILES\SCMG\Scripts"
$ScriptLogs = "$ScriptRoot\Logs"
$ScriptTemp = "$ScriptRoot\Temp"
@ -71,7 +76,6 @@ function Get-SnipeAssetNumber
}
}
function Get-BiosTool
{
[CmdletBinding(ConfirmImpact = 'Medium')]
@ -120,13 +124,14 @@ If ($ComputerSystemProduct.Vendor -like "Lenovo")
$SnipeAssetTag = Get-SnipeAssetNumber -Serial $PSComputerInfo.serial
Set-Location $ScriptTemp
$params = @{
FilePath = "$ScriptTemp\AMIDEWINx64\AMIDEWINx64.exe"
ArgumentList = "/CA `"$SnipeAssetTag`""
}
.\AMIDEWINx64\AMIDEWINx64.exe /CA "$SnipeAssetTag"
Start-Process @params -Wait -NoNewWindow
Remove-Item $ScriptTemp\* -Recurse
Set-Location -Path $(Split-Path $MyInvocation.MyCommand.Path -Parent)
}
else
{
@ -136,8 +141,8 @@ else
# SIG # Begin signature block
# MIIvYQYJKoZIhvcNAQcCoIIvUjCCL04CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBjs+JMqPrrbeXe
# t6xlvmH3J2Sz9PE5IwjBOfPiZ1qFfqCCKGYwggQyMIIDGqADAgECAgEBMA0GCSqG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBJvdq7f24iN171
# +rfGmoyWkbHBZh/RhhkGQIP0j4bv+KCCKGYwggQyMIIDGqADAgECAgEBMA0GCSqG
# SIb3DQEBBQUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNo
# ZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1p
# dGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2VydmljZXMwHhcNMDQwMTAx
@ -356,35 +361,35 @@ else
# MYIGUTCCBk0CAQEwaDBUMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBM
# aW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0Eg
# UjM2AhAtmKdfiMvdO1IQbTd6fBa6MA0GCWCGSAFlAwQCAQUAoEwwGQYJKoZIhvcN
# AQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEIFOdqQKPKOWFNMHwKbkP
# CK2ODm7gDc2gt+OYMrA4HNziMA0GCSqGSIb3DQEBAQUABIICAJX9FMRkuRNmHtPv
# yE0TLddNY70BlBqQDEU9Dtv5u4PlUbVZ2jZY2ELQPTAq1jjXyNqr1fXI9AVoUBuz
# TfTcalj+3DsYZVqaiiBlVdQ2DDrZJLv7Z3IAGAWl9NBlgjIlSP0PdGYZ7b0128iu
# RoCSvTl6GB3ptGSWQ6MYMc1pdYarv+Wi8OM73I1MU4qWOsH65Y2AgLGWKgEpueZt
# Y3rQ1bInMODFkk4FwFfZv/QCCEVJK7jEwzM7HnVfvWZiR3cV09MtTE81ZHs5ZKnR
# vWnxd2yFEH+ui+E7Omfhy/F3zp+D5g2agpSxGwmiKTi1ULW3fRImpy9vUuXwrLQJ
# idOMCbPtvqSAc6wKCR8jJDhj6GcNpRHX6l/DZbYoCq7S87KwV7AQfneDzz+utm4G
# ydRi3I8yZ6HRiLFrDVWgCHH9Ajp5/LXztOFNBuIJahwtiVzvRLlkY3nw8K4i0Ia6
# /v4HArENnGYjeyz6g2of1i5m7vuOnHUbgeKTimeyelwpjDV8h6Lzup6tRd8zoc/A
# VG6ofWM3UPmBM1w7s4POWEcr52BLjdMQAd72mUGw5gsDqEY4q8lkrEFuyRcXYnhB
# xyOUMgVuAHLIbrRGPIKf/oSa0dgUaRCi4iwY58MiSmMuU4aKbqD/BENa/NpaunL+
# W2KNmh2Oix9of2RitnSwKSiBfV4ioYIDbDCCA2gGCSqGSIb3DQEJBjGCA1kwggNV
# AQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEILiWYcPV5h9SEoxBpC27
# JeuPmhi0Wj6b7uVIAD4SlDmqMA0GCSqGSIb3DQEBAQUABIICAAWabBJRESgzorwW
# 2B9XCmIRZBWwoTn8XFLZf45lpswWLr+dMQz7bag4YeEuOCiW6xVRLlY83NHPWlDE
# CKjwecdhvo2Tl/KerOTcdZixNiRbtqjnxLZBY2CpQYKRkWyEEBnwlFmPxECaEKpQ
# oBOeuvpcy7IO8VD4hcoelFf4RGGH9eO+kMOMsUblQa0848b6+It3qmUAWu3uHMuS
# 9UAB8MRw8GJpjn6ymJC5uoSKCgO86MTFMm33SW5RYTvopMB58JEwg7ZSBJSamnMb
# yWxqrOpReEY8dBnWEFSsmWT103FOCNjUzf3vbnnILPAFwXqLlR6eRTDwroNO+GBe
# i1u3aPFkU49zkVTgwLEjjbNiXtK4u+P/nWLOYRZBnzXdNSwHo2CeoyBRPsAfi01R
# lY+MG0yWgBuHejaEba/cKoTZErXMwANth/Bt7mlEfASwcbjScc8zSE5l8Ob7QUn7
# 4uzNT1lPwfLUr22q94fTO7ghPL3+QPQJSBaGZD0Dhz1NGpT2MGLKj+TOwI3vN7fe
# oo0+oRlhS6yFMuQmOJguOW5Bv7RYaPXs4ygDCIo2/ikmEhK+BGTfPxy5uxHEiO04
# ljWBG4iUiUrbGBDoAVTN6SZuugjP7u14vo8kdS3ySR/lgTkJgg04EO7yqmYPUeds
# jcRkldLIHzDs3B7O8nLZT9wHEE6ToYIDbDCCA2gGCSqGSIb3DQEJBjGCA1kwggNV
# AgEBMG8wWzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex
# MTAvBgNVBAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hBMzg0IC0g
# RzQCEAEHZJsIsKf+fdZUqPL0KfYwCwYJYIZIAWUDBAIBoIIBPTAYBgkqhkiG9w0B
# CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNDEyMTYxOTM5NTFaMCsG
# CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNDEyMTYyMTM0NDRaMCsG
# CSqGSIb3DQEJNDEeMBwwCwYJYIZIAWUDBAIBoQ0GCSqGSIb3DQEBCwUAMC8GCSqG
# SIb3DQEJBDEiBCB1drKVrq/shE9wOdX/tsSZZr1iDENpJ7iz5i0Ui8cK/DCBpAYL
# SIb3DQEJBDEiBCCMgwQNoEdvo9nwFeuglFIwxtvpzpeBx9DVkl8i9UyI0zCBpAYL
# KoZIhvcNAQkQAgwxgZQwgZEwgY4wgYsEFETTk5zNG4h/hnrM2oHsrw9l/NJZMHMw
# X6RdMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEw
# LwYDVQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4NCAtIEc0
# AhABB2SbCLCn/n3WVKjy9Cn2MA0GCSqGSIb3DQEBCwUABIIBgGc8v3HxAEQng4Lw
# WN8KsDMCQW/CF+Ez3X+FLUMxajoNgKuAcRMjyLHPK3f0Nusb6iW1hDu0AnEz9NR0
# gPZYGtBDz2NtKsSQqpNzs4NYNETmEEQ61GLB09X3iTgZgyZF1u/fkIK/nCL4k8bp
# nyo3Hxd04vIQgNJ3Q2m5D31V0yrVDvGkeFAUnecDQM1ik07l0zhZ/vpwtJiQ0g5F
# NnAqe0/Qmxjt7iqq7yS8PnaHpruhf0xlu59UU9/KtIT/RB0x+DX6nFXQid0Rhgfb
# HnP6RKV6P0jJwl7ZZwFcuXaGw5saniT+qIJOetA0cEPmqF7AmBYsPO52no3q3wG+
# kSQXp1VC99NdFKQCC18BiJYhxdklst9Atvps//sWOFVySHM0sXpKBr1XNnVoyp18
# ZSmNOEec8ee7bfBTOxeBqdYc1s7UeZedW89NOClebXXMn1hb/DKV6uqzHvoVOYOO
# BaXUTpxvq/tKiB/MABPjVDe5v4nCGoCO1SA1biZbfwZpVb24oA==
# AhABB2SbCLCn/n3WVKjy9Cn2MA0GCSqGSIb3DQEBCwUABIIBgExwWCxLeEi/WyGM
# WjVegUELgPn0KW+A9m9x7NJhQcfiNShFXp7+o6KmzyPB+Rex/PdJIpKe2DiFO/C+
# uSWG55NSHLJJk5X+hCs0GKoYdXXqhFHd9KujQRforSgp9ey8RsDl5O6hO4yl4wzM
# SbHbMsEsfTqMRwNqHvjEy4JMyuQ9QB6BtoJtBtLmL+/Vt4AI1aBuUrvl5r+EDpIV
# jjhkX5ByvNOLQGwvG/GM1PVtNfwCcLMybChJvd+UmkzTz0b7LELsqj/T9w8iqkxr
# OnvHcHlevWEbe5dC0+si2mRaJ0lMxjx+xXYShETYNEKL6oOKfAnzadz2k3Dmix5a
# LRr9H/hT7D+L4Wo5KBx8C47LmfdxKM6rJG7r5sdLejg1Jpi9M+Vr9/rZ7gEcdFw+
# QJpf5nl+O2fLPFLHpeltEKT77y1dCjt36y/wlllTuAjbgVixxzwJs4gbdit4uiXn
# 0EtLOABXrEd3YZsdRFvd/vzAgU8pYLeqZDA6e4YtMOeE0DTXpQ==
# SIG # End signature block