MakeAlias, ModelAlias & SystemAlias
These three variables are very detailed and have a lot of code associated with them, so it's being broken down into their own page to allow easier understanding of how they are being derived.
Last updated
These three variables are very detailed and have a lot of code associated with them, so it's being broken down into their own page to allow easier understanding of how they are being derived.
Last updated
# Generate ModelAlias, MakeAlias and SystemAlias
$LocalInfo = @{}
$LocalInfo['Make'] = (Get-CimInstance -ClassName Win32_ComputerSystem).Manufacturer.Trim()
$LocalInfo['IsVM'] = "False"
Switch -Wildcard ($LocalInfo['Make']) {
"*Microsoft*" {
$LocalInfo['MakeAlias'] = "Microsoft"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = Get-CimInstance -ClassName MS_SystemInformation -Namespace root\wmi | Select-Object -ExpandProperty SystemSKU
# Logic for Hyper-V Testing
If ($LocalInfo['ModelAlias'] -eq "Virtual Machine") {
$LocalInfo['SystemAlias'] = Get-CimInstance -ClassName MS_SystemInformation -Namespace root\wmi | Select-Object -ExpandProperty SystemVersion
$LocalInfo['IsVM'] = "True"
}
}
"*HP*" {
$LocalInfo['MakeAlias'] = "HP"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = (Get-CimInstance -ClassName MS_SystemInformation -NameSpace root\wmi).BaseBoardProduct.Trim()
}
"*VMWare*" {
$LocalInfo['MakeAlias'] = "VMWare"
# $LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim() # Default, sets alias to same as model
# $LocalInfo['ModelAlias'] = ((Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()).replace(",","_") # Remove the "," and replace with "_"
$LocalInfo['ModelAlias'] = ((Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()).replace(" ","_").replace(",","_") # Remove the "," and replace with "_", Remove the " " and replace with "_"
$LocalInfo['SystemAlias'] = Get-CimInstance -ClassName MS_SystemInformation -Namespace root\wmi | Select-Object -ExpandProperty SystemSKU
$LocalInfo['IsVM'] = "True"
}
"*QEMU*" {
$LocalInfo['MakeAlias'] = "QEMU"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = Get-CimInstance -ClassName MS_SystemInformation -Namespace root\wmi | Select-Object -ExpandProperty SystemSKU
$LocalInfo['IsVM'] = "True"
}
"*Innotek*" {
$LocalInfo['MakeAlias'] = "Innotek"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = Get-CimInstance -ClassName MS_SystemInformation -Namespace root\wmi | Select-Object -ExpandProperty SystemSKU
$LocalInfo['IsVM'] = "True"
}
"*Hewlett-Packard*" {
$LocalInfo['MakeAlias'] = "HP"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = (Get-CimInstance -ClassName MS_SystemInformation -NameSpace root\wmi).BaseBoardProduct.Trim()
}
"*Dell*" {
$LocalInfo['MakeAlias'] = "Dell"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = (Get-CimInstance -ClassName MS_SystemInformation -NameSpace root\wmi ).SystemSku.Trim()
}
"*Lenovo*" {
$LocalInfo['MakeAlias'] = "Lenovo"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystemProduct | Select-Object -ExpandProperty Version).Trim()
$LocalInfo['SystemAlias'] = ((Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).SubString(0, 4)).Trim()
}
"*Intel(R) Client Systems*" {
$LocalInfo['MakeAlias'] = "Intel(R) Client Systems"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystemProduct | Select-Object -ExpandProperty Version).Trim()
$LocalInfo['SystemAlias'] = ((Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim())
$LocalInfo['SystemAlias'] = $LocalInfo['SystemAlias'].SubString(0, $LocalInfo['SystemAlias'].IndexOf("i")).Trim()
}
"*Panasonic*" {
$LocalInfo['MakeAlias'] = "Panasonic Corporation"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = (Get-CimInstance -ClassName MS_SystemInformation -NameSpace root\wmi ).BaseBoardProduct.Trim()
}
"*Viglen*" {
$LocalInfo['MakeAlias'] = "Viglen"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = (Get-CimInstance -ClassName Win32_BaseBoard | Select-Object -ExpandProperty SKU).Trim()
}
"*AZW*" {
$LocalInfo['MakeAlias'] = "AZW"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = (Get-CimInstance -ClassName MS_SystemInformation -NameSpace root\wmi ).BaseBoardProduct.Trim()
}
"*Fujitsu*" {
$LocalInfo['MakeAlias'] = "Fujitsu"
$LocalInfo['ModelAlias'] = (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty Model).Trim()
$LocalInfo['SystemAlias'] = (Get-CimInstance -ClassName Win32_BaseBoard | Select-Object -ExpandProperty SKU).Trim()
}
Default {
$LocalInfo['MakeAlias'] = "NA"
$LocalInfo['ModelAlias'] = "NA"
$LocalInfo['SystemAlias'] = "NA"
}
# Closing for switch block
}PS C:\WINDOWS\system32> $LocalInfo
Name Value
---- -----
Make HP
MakeAlias HP
IsVM False
ModelAlias HP ZBook Studio 16 inch G10 Mobile Workstation PC
SystemAlias 8B8F