Since this email, and the apparent (at least based on this email thread) lack 
of solid "here's exactly how" to tell a Tablet vs anything else using existing 
stuff we know or could easily get (regkey or existing wmi class), I looked 
around for the "how".  

What I found was apparently the method is to use GetSystemMetrics function
https://msdn.microsoft.com/en-ca/library/windows/desktop/ms724385(v=vs.85).aspx

So I found a script where someone had done 99% of the work for me (I'm lazy 
that way)
https://social.technet.microsoft.com/Forums/en-US/458bb58a-cb80-465e-bebb-a024ec5e31b0/powershell-get-system-metrics?forum=winserverpowershell

and made it over into a ConfigItem + mof snippet.

Now.. the sad part I need help with.  My lab only has one tablet in it.  So 
it's not exactly a robust testing environment for testing this particular 
routine.  For anyone with a lab (or for you rebels that "when you test, you 
test in production") if you want to grab the attached ConfigItem (to be 
imported, added to a baseline, and deployed to whatever collection you are 
comfy with) and the mof snippet (to be imported into Default Client Settings, 
Hardware Inventory..., you'll get a v_gs_TabletInfo0 view.

Note that for my ONE lab box--it's a touch-screen laptop, actually.  Not truly 
a tablet per se where there is no attached keyboard.  But according to 
GetSystemMetrics it's a Tablet=1, because the Tablet Interface is running, not 
that it's technically a tablet.  So there may be more reporting tricks to be 
done to differentiate a "Tablet" vs. a "touch-screen capable device"

Then be so kind as to tell me (in a few days, once your boxes start to report)
1) did it work at ALL and correctly identify tablets (or at least, all 
touch-screen capable devices)?
2) The way I designed the script was with an if statement, to only make the WMI 
class if it actually was Tablet=1  From a reporting standpoint, would you 
rather get back nothing if it's not a tablet (no data in the v_gs_tabletinfo0) 
or would you rather any box that happens to run that ConfigItem, even if it's 
Tablet=0; that hardware inventory reports up that it is NOT (according to 
GetSystemMetrics)?  I'm on the fence about that, personally.  I hate cluttering 
up my database with info that just isn't actually useful... But it would be 
easy enough to remove the if statement and make every box create the local 
custom cm_tabletinfo, even if it's not a tablet...  What would people rather 
have?  Tablet=0 or just no data?

If I get a few people telling me if it works; I'll blog it out there...
 
If the .cab file doesn't transfer well, I can email the script inside for 
people to make their own CI if importing doesn't work (sometimes that seems to 
happen).

Side note:  All I personally cared about was the Tablet stuff from 
GetSystemMetrics.  But if someone cares about some of the other things out of 
that, you could relatively easily expand the script + mof edit and report up 
additional attributes that GetSystemMetrics can pull for you, if you need it.
 


On Tuesday, February 24, 2015 4:33 AM, Andreas Hammarskjöld 
<[email protected]> wrote:
  


 
Yeah, think we used that one, ran a tool in Post deploy I think and fetched the 
reg key by mof. Also think in conjunction with the ever un documented: 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\Tablet PC registry 
key. 
  
//A 
  
From:[email protected] [mailto:[email protected]] On 
Behalf Of Michael Niehaus
Sent: den 24 februari 2015 09:59
To: [email protected]
Subject: RE: [mssms] RE: System Enclosure - Chassis Types for Tablets   
  
The IsTouchEnabled.exe (which is part of UDI, included with MDT) uses the 
GetSystemMetrics API to ask Windows if there is a digitizer present 
(SM_DIGITIZER flag).  That works great in the old or new operating system, but 
not in Windows PE. 
  
Thanks, 
-Michael 
  
From:[email protected] [mailto:[email protected]] On 
Behalf Of Andreas Hammarskjöld
Sent: Tuesday, February 24, 2015 9:35 AM
To: [email protected]
Subject: RE: [mssms] RE: System Enclosure - Chassis Types for Tablets   
  
Nah, if memory serves me right it was a windows reg key, but if that was 
collected and detected as a part of the build using Niehaus .exe method I don’t 
remember. 
  
//A 
  
From:[email protected] [mailto:[email protected]] On 
Behalf Of Hedges, Dustin
Sent: den 23 februari 2015 23:17
To: [email protected]
Subject: RE: [mssms] RE: System Enclosure - Chassis Types for Tablets   
  
Michael Niehaus wrote a blog post 
(http://blogs.technet.com/b/mniehaus/archive/2014/01/10/configuring-file-associations-in-windows-8-1.aspx)
 which makes mention of the IsTouchEnabled.exe executable that is available in 
the MDT 2013 installation files.  It can tell you if your system is 
touch-enabled or not. 
  
Personally, we treat all Windows Laptops/Tablets (touch or not) as “Laptops” in 
terms of deployment and overall support.  Then any touch-specific 
configurations we just key off of touch capabilities. 
  
Dustin Hedges 
Sr. Systems Engineer 
GETOps – Global Client Engineering 
    
  
From:[email protected] [mailto:[email protected]] On 
Behalf Of Sherry Kissinger
Sent: Monday, February 23, 2015 3:22 PM
To: [email protected]
Subject: Re: [mssms] RE: System Enclosure - Chassis Types for Tablets   
  
You mean for 8, touchscreen?  well, that would tell you if it had a touch 
screen; but that doesn't mean it's not a laptop with a full keyboard.    
   
If that's the real thing one is looking for "is the screen touchable, whether 
or not it happens to have a keyboard, too", then sure, I could see using that. 
I guess it depends what one is actually looking for, when someone asks you "how 
many ..."    
   
   
On Monday, February 23, 2015 3:15 PM, Andreas Hammarskjöld 
<[email protected]> wrote:  
  
I always did by Make/Model 'back in the days'.. Also think I did a .mof on 
stylus/pen/touch, but then not all tablets had touch... might be different 
these days.

//A

-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of William Jackson
Sent: den 23 februari 2015 22:12
To: [email protected]
Subject: Re: [mssms] RE: System Enclosure - Chassis Types for Tablets

> So... what's the lesson?  It's all over the place.  there is no easy answer 
> for "and... this chassistype means it's a tablet."   

You could also try Win32_PointingDevice.PointingType.

Value    Meaning
1    Other
2    Unknown
3    Mouse
4    Trackball
5    Track Point
6    Glide Point
7    Touch Pad
8    Touch Screen
9    Mouse - Optical Sensor

https://msdn.microsoft.com/en-us/library/aa394356.aspx

William


Attachment: Hardware Inventory CM_TabletInfo.cab
Description: Binary data

Attachment: TabletInfoToImport.mof
Description: Binary data

Reply via email to