Logical Installation task
Would like to see the k2000 have the ability to do logical installations based on chasis type. Such as desktop or laptops. There are applications that only need to be installed on a laptop and it would be great to automate that based on the type of chasis.

-
Chris Breuer commented
I do this currently with a powershell script
function check-chassis {
BEGIN {}
PROCESS {
$computer = "$_"
$chassis = Get-WmiObject win32_systemenclosure | select chassistypes
if ($chassis.chassistypes -contains '3'){Write-Output "Desktop"}
elseif ($chassis.chassistypes -contains '4'){Write-Output "Low Profile Desktop"}
elseif ($chassis.chassistypes -contains '5'){Write-Output "Pizza Box"}
elseif ($chassis.chassistypes -contains '6'){Write-Output "Mini Tower"}
elseif ($chassis.chassistypes -contains '7'){Write-Output "Tower"}
elseif ($chassis.chassistypes -contains '8'){Write-Output "Portable"}
elseif ($chassis.chassistypes -contains '9'){Write-Output "Laptop"}
elseif ($chassis.chassistypes -contains '10'){Write-Output "Notebook"}
elseif ($chassis.chassistypes -contains '11'){Write-Output "Hand Held"}
elseif ($chassis.chassistypes -contains '12'){Write-Output "Docking Station"}
elseif ($chassis.chassistypes -contains '13'){Write-Output "All in One"}
elseif ($chassis.chassistypes -contains '14'){Write-Output "Sub Notebook"}
elseif ($chassis.chassistypes -contains '15'){Write-Output "Space-Saving"}
elseif ($chassis.chassistypes -contains '16'){Write-Output "Lunch Box"}
elseif ($chassis.chassistypes -contains '17'){Write-Output "Main System Chassis"}
elseif ($chassis.chassistypes -contains '18'){Write-Output "Expansion Chassis"}
elseif ($chassis.chassistypes -contains '19'){Write-Output "Sub Chassis"}
elseif ($chassis.chassistypes -contains '20'){Write-Output "Bus Expansion Chassis"}
elseif ($chassis.chassistypes -contains '21'){Write-Output "Peripheral Chassis"}
elseif ($chassis.chassistypes -contains '22'){Write-Output "Storage Chassis"}
elseif ($chassis.chassistypes -contains '23'){Write-Output "Rack Mount Chassis"}
elseif ($chassis.chassistypes -contains '24'){Write-Output "Sealed-Case PC"}
else {Write-output "Unknown"}
}
END{}
}$obj = new-object -com wscript.shell
$tmp = "localhost" | check-chassis
If (($tmp -like "Laptop") -eq "True") {
Start-Process wsa.bat -Wait
}
If (($tmp -like "Notebook") -eq "True") {
Start-Process wsa.bat -Wait
} -
Anonymous commented
This definitely needs to be implemented somewhere down the line. I'm using a WMI query in my batch files that's checking against a steadily growing list of machine names - this is going to be unmanageable sooner rather than later, especially as the number of tasks that use this grow.