SCCM Collections for ThinkPad Docks

In case your organization has a variety of ThinkPad docks, you may want to create a device collection or report that displays all of your ThinkPad's out in the field connected to one.

WQL queries provided in this blog post will be targeting:

OneLink+ Docks


select SMS_R_System.Name, SMS_R_System.IPAddresses, SMS_R_System.LastLogonUserName from  SMS_R_System inner join SMS_G_System_PNP_DEVICE_DRIVER on SMS_G_System_PNP_DEVICE_DRIVER.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_PNP_DEVICE_DRIVER.PNPDeviceID like "USB\\VID_17EF&PID_1019%" and SMS_G_System_PNP_DEVICE_DRIVER.Name = "Generic SuperSpeed USB Hub" and SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("8","9","10","11","12","14","18","21","30","31","32") 

Mechanical Pro Dock (PN: 40A1)


select SMS_R_System.Name, SMS_R_System.IPAddresses, SMS_R_System.LastLogonUserName from  SMS_R_System inner join SMS_G_System_PNP_DEVICE_DRIVER on SMS_G_System_PNP_DEVICE_DRIVER.ResourceID = SMS_R_System.ResourceId where SMS_G_System_PNP_DEVICE_DRIVER.PNPDeviceID like "USB\\VID_17EF&PID_1012%" and SMS_G_System_PNP_DEVICE_DRIVER.Name = "Generic SuperSpeed USB Hub"

Mechanical Ultra Dock (PN: 40A2)


select SMS_R_System.Name, SMS_R_System.IPAddresses, SMS_R_System.LastLogonUserName from  SMS_R_System inner join SMS_G_System_PNP_DEVICE_DRIVER on SMS_G_System_PNP_DEVICE_DRIVER.ResourceID = SMS_R_System.ResourceId where SMS_G_System_PNP_DEVICE_DRIVER.PNPDeviceID like "USB\\VID_17EF&PID_1010%" and SMS_G_System_PNP_DEVICE_DRIVER.Name = "Generic SuperSpeed USB Hub"

Thunderbolt 3 Dock


select SMS_R_System.Name, SMS_R_System.IPAddresses, SMS_R_System.LastLogonUserName from  SMS_R_System inner join SMS_G_System_PNP_DEVICE_DRIVER on SMS_G_System_PNP_DEVICE_DRIVER.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_PNP_DEVICE_DRIVER.PNPDeviceID like "USB\\VID_17EF&PID_3069%" and SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("8","9","10","11","12","14","18","21","30","31","32")

USB C Dock


select SMS_R_System.Name, SMS_R_System.IPAddresses, SMS_R_System.LastLogonUserName  from  SMS_R_System inner join SMS_G_System_PNP_DEVICE_DRIVER on SMS_G_System_PNP_DEVICE_DRIVER.ResourceID = SMS_R_System.ResourceId where SMS_G_System_PNP_DEVICE_DRIVER.Name = "ThinkPad USB-C Dock Ethernet" and SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("8","9","10","11","12","14","18","21","30","31","32")

They have also been exported as a single MOF and can be imported using the Import Objects wizard under Monitoring > Queries node.

Download the zip here, extract to a source location on your site server and import.  You can also customize the attributes that will be displayed when run.  I set all to display the Computer Name, IP Addresses, and Last Logon User Name.

Hopefully this comes in handy!

Further reading: Lenovo USB & Docks Deployment Guide



Comments