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
Hardware Inventory CM_TabletInfo.cab
Description: Binary data
TabletInfoToImport.mof
Description: Binary data

