"Device Type" Reserved Property Update Request

IBM - Can you update the ‘Device Type’ property under site ‘Reserved’ to properly identify VDI’s. Currently they report as ‘Laptops’. Checking for the existence of running service “WorkstationAgent” would fix the issue.

1 Like

There is a client property called, _BESClient_DeviceTypeOverride that you can set on clients so that the analysis returns the override value instead of whatever it would have normally returned.

I would recommend building a fixlet/action that sets this property on your VDI clients

1 Like

Yes I see that thanks, but prefer if the logic was fixed at the source.

You can create an open action that sets the _BESClient_DeviceTypeOverride only in cases where it is needed.

understood, however the bigfix detection logic is flawed. this should really be fixed rather than me setting this via a policy action. all vdi’s are reporting as ‘laptop’ surely other customers have noticed this ?? (or not …)

1 Like

Its a known issue which we will eventually address but its not a simple fix. If many virtual environments wouldn’t add a “battery” to the devices that are present it would be a lot easier!

1 Like

I don’t know if it has been addressed, but the relevance also used to assume all Microsoft devices were virtual, which is not the case due to MS Surface devices.

I do have some improved relevance somewhere on BigFix.Me for this, which is itself probably out of date.

I believe the content teams did update the Microsoft BIOS issue but don’t hold me to it. I saw something that did change this for something recently.

1 Like

Fingers crossed the development team are reviewing this thread and working on a fix.

You can write whatever relevance you want that correctly identifies your VDI systems and then use that to target systems by property or use that as the relevance to create an automatic group and target based upon that.

Ultimately what the dev team does in this regard doesn’t really matter.

If you want help writing relevance to do this, then that is a different question that could also be addressed.

I’m one of that “developer team” and as I indicated its not as easy as one might think :slight_smile:

1 Like

AlanM - As an acceptable workaround, may I propose that by adding computer model contains virtual to the existing RP (instead of using the client setting workaround), you classify VDI hosts as ‘Virtual’.

(if(it starts with “Mac OS X”)then(if(it contains “Server”)then “Server” else (if(((exists key whose(it as string as lowercase contains “battery”) of entries of dictionaries of nodes of it) OR (exists node “AppleACPIPlatformExpert/SMB0/AppleECSMBusController/AppleSmartBatteryManager” of service plane of iokit registry)of it)of service plane of iokit registry)then “Laptop” else “Desktop”))else(if(it starts with “Win”)then if (string value of selects “Model from Win32_ComputerSystem” of wmi) as lowercase contains “Virtual” as lowercase as string then “Virtual” else (if(it as lowercase contains “mobile”)then “Mobile” else(if(it = “Win95” OR it = “Win98” OR it = “WinME”)then “Desktop” else(if(nt workstation product type != product type of operating system)then “Server” else(if ((exists active device whose((class of it as lowercase = “battery” OR class of it as lowercase = “system”) AND service key value name of it as lowercase = “compbatt”)) AND (exists active device whose(class of it as lowercase = “battery” AND service key value name of it as lowercase = “cmbatt”))) then “Laptop” else “Desktop” ))))else(if (it contains “Linux” OR it contains “AIX” OR it contains “Sun” OR it contains “HP-UX” OR it contains “VMware”) then (“Server”) else(if((it contains “ios” OR it contains “android” OR it contains “ipad” OR it contains “iphone” OR it contains “ipod” OR it contains “smartphone” OR it contains “msft-” OR it contains “nokia” OR it contains “palm” OR it contains “pocketpc” OR it contains “htc”)of(it as lowercase)) then “Mobile” else “Unknown”)))) of name of operating system

I tried the code above and it adjusts the device type in a way that better suits our environment. Understand it’s not 100% accurate, but it’s better than it was. I’d rather see VMs all lumped together under “Virtual” than to display under “Laptop”. Would it not make sense to update the IBM property, as this is at least more accurate?

1 Like

This works better …

(if(it starts with “Mac OS X”)then(if(it contains “Server”)then “Server” else (if(((exists key whose(it as string as lowercase contains “battery”) of entries of dictionaries of nodes of it) OR (exists node “AppleACPIPlatformExpert/SMB0/AppleECSMBusController/AppleSmartBatteryManager” of service plane of iokit registry)of it)of service plane of iokit registry)then “Laptop” else “Desktop”))else (if(it starts with “Win”)then if (string value of selects “Model from Win32_ComputerSystem” of wmi) as lowercase contains “Virtual” as lowercase as string AND (value “ProductType” of key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions” of registry = “WinNT”) then “Desktop” else if (string value of selects “Model from Win32_ComputerSystem” of wmi) as lowercase contains “Virtual” as lowercase as string AND (value “ProductType” of key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions” of registry != “WinNT”) then “Server” else (if(it as lowercase contains “mobile”)then “Mobile” else(if(it = “Win95” OR it = “Win98” OR it = “WinME”)then “Desktop” else(if(nt workstation product type != product type of operating system)then “Server” else(if ((exists active device whose((class of it as lowercase = “battery” OR class of it as lowercase = “system”) AND service key value name of it as lowercase = “compbatt”)) AND (exists active device whose(class of it as lowercase = “battery” AND service key value name of it as lowercase = “cmbatt”))) then “Laptop” else “Desktop” ))))else(if (it contains “Linux” OR it contains “AIX” OR it contains “Sun” OR it contains “HP-UX” OR it contains “VMware”) then (“Server”) else(if((it contains “ios” OR it contains “android” OR it contains “ipad” OR it contains “iphone” OR it contains “ipod” OR it contains “smartphone” OR it contains “msft-” OR it contains “nokia” OR it contains “palm” OR it contains “pocketpc” OR it contains “htc”)of(it as lowercase)) then “Mobile” else “Unknown”)))) of name of operating system

There are 2 different properties. One for Virtual/Physical, and another for Server/Desktop/Laptop/etc…

In my opinion, VDI should report as Desktop but Virtual instead of Physical.

The “device type” should return what type of device it is (physical or virtual shouldn’t matter) so if its a virtual laptop, its a laptop etc. We shouldn’t combine things like we have done before.

The information now comes out of the internals of Windows as there is an inspector “device type” now which gets the chassis type

2 Likes

I don’t know if it is clear, but yes, I agree with what @AlanM just said.