(imported topic written by nberger91)
IBM - feture request can you add “TabletPC” to the exisiting code ? Currently Tablets report as “Laptop”
if
exists
true
whose
(
if
true
then
exists
device type
else
false
)
then
device type
else
if
exists
value
of
settings
“_BESClient_DeviceTypeOverride”
of
client
then
value
of
setting
“_BESClient_DeviceTypeOverride”
of
client
else
if
name
of
operating system
as
lowercase
starts with
“mac os x”
then
(
if
name
of
operating system
as
lowercase
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
(name
of
operating system
as
lowercase
starts with
“win”
)
then
(
if
name
of
operating system
as
lowercase
contains
“mobile”
then
“Mobile”
else
if
(name
of
operating system
=
“Win95”
OR
name
of
operating system
=
“Win98”
or
name
of
operating system
=
“WinME”
)
then
“Desktop”
else
if
(
exists
active device
whose
(class
of
it
=
“Battery”
)
and
not
(
exists
active device
whose
(service key value name
of
it
as
lowercase
=
“hidbatt”
)))
then
“Laptop”
else
(
if
(value
“ProductType”
of
key
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions”
of
registry
=
“WinNT”
)
then
“Desktop”
else
“Server”
))
else
if
(
it
contains
“linux”
or
it
contains
“aix”
or
it
contains
“sun”
or
it
contains
“hp-ux”
or
it
contains
“esx”
)
of
(name
of
operating system
as
lowercase)
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
(name
of
operating system
as
lowercase)
then
“Mobile”
else
“Unknown”