$ChassisTypes = (Get-WmiObject Win32_SystemEnclosure -Property ChassisTypes).ChassisTypes
$IsLaptop = $IsDesktop = $IsServer = "false"
if ( @($ChassisTypes | Compare-Object ((8..12) + (14, 18, 21, 30, 31, 32)) -ExcludeDifferent -IncludeEqual).count -eq $ChassisTypes.Count ) {
$IsLaptop = "true"
}
if ( @($ChassisTypes | Compare-Object ((3..7) + (13, 15, 16, 35, 36)) -ExcludeDifferent -IncludeEqual).count -eq $ChassisTypes.Count) {
$IsDesktop = "true"
}
if ( @($ChassisTypes | Compare-Object (23, 28) -ExcludeDifferent -IncludeEqual).count -eq $ChassisTypes.Count) {
$IsServer = "true"
}
Write-Verbose "IsLaptop = $IsLaptop"
Write-Verbose "IsDesktop = $IsDesktop"
Write-Verbose "IsServer = $IsServer"
$tsenv.Value("IsLaptop") = $IsLaptop
$tsenv.Value("IsDesktop") = $IsDesktop
$tsenv.Value("IsServer") = $IsServer