{"id":8481,"date":"2007-02-24T18:26:03","date_gmt":"2007-02-24T18:26:03","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/2007\/02\/24\/displaying-usb-devices-using-wmi\/"},"modified":"2019-02-18T13:20:43","modified_gmt":"2019-02-18T20:20:43","slug":"displaying-usb-devices-using-wmi","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/displaying-usb-devices-using-wmi\/","title":{"rendered":"Displaying USB Devices using WMI"},"content":{"rendered":"<p>Over on <a href=\"http:\/\/www.myitforum.com\/\">MyItForum.com<\/a>, I came upon a VBScript in a forum to find all the PNP entities associated with a USBController.  I rewrote it in PowerShell and was pretty happy with the results so I thought I would share them.  The first thing you need to understand is that the WMI class WIN32_USBControllerDevice describes the connection between USB controllers (The Antecedent) and their logical devices [CIM_LOGICALDEVICE] (the Dependent).  Let me illustrate:\n<\/p>\n<p style=\"margin-left: 36pt\"><span style=\"font-family:Courier;font-size:9pt\">PS&gt; gwmi Win32_USBControllerDevice  |fl Antecedent,Dependent<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2658&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E8&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;USB\\\\ROOT_HUB<br \/>             \\\\4&amp;2F35A3CB&amp;0&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2658&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E8&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;USB\\\\VID_04FC<br \/>             &amp;PID_0003\\\\5&amp;2604C4EE&amp;0&amp;1&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2658&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E8&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;HID\\\\VID_04FC<br \/>             &amp;PID_0003\\\\6&amp;185E20EC&amp;0&amp;0000&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2659&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E9&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;USB\\\\ROOT_HUB<br \/>             \\\\4&amp;88AB5AD&amp;0&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2659&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E9&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;USB\\\\VID_413C<br \/>             &amp;PID_8103\\\\5&amp;111B5EE1&amp;0&amp;1&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2659&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E9&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;BTH\\\\MS_RFCOM<br \/>             M\\\\6&amp;3250FFA7&amp;0&amp;0&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2659&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E9&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;BTH\\\\MS_BTHBR<br \/>             B\\\\6&amp;3250FFA7&amp;0&amp;1&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_2659&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;E9&#8243;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;BTH\\\\MS_BTHPA<br \/>             N\\\\6&amp;3250FFA7&amp;0&amp;2&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_265A&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;EA&#8221;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;USB\\\\ROOT_HUB<br \/>             \\\\4&amp;8904A15&amp;0&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_265B&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;EB&#8221;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;USB\\\\ROOT_HUB<br \/>             \\\\4&amp;2F300F63&amp;0&#8243;<\/p>\n<p>Antecedent : \\\\JPSVISTA1\\root\\cimv2:Win32_USBController.DeviceID=&#8221;PCI\\\\VEN_<br \/>             8086&amp;DEV_265C&amp;SUBSYS_01891028&amp;REV_03\\\\3&amp;2B8E0B4B&amp;0&amp;EF&#8221;<br \/>Dependent  : \\\\JPSVISTA1\\root\\cimv2:Win32_PnPEntity.DeviceID=&#8221;USB\\\\ROOT_HUB<br \/>             20\\\\4&amp;16530ED8&amp;0&#8243;<br \/>\n\t\t<\/span><\/p>\n<p>Clear as mud right?  These are WMI Path names and are not so readable.  That&#8217;s ok for now; the point is that this class points to 2 other WMI entities.\n<\/p>\n<p>Below is the VBScript that I got from<a href=\"http:\/\/www.myitforum.com\/forums\/m_147418\/mpage_1\/key_\/tm.htm\"> here<\/a>.\n<\/p>\n<p style=\"margin-left: 36pt\"><span style=\"font-size:9pt\"><span style=\"color:black\"><span style=\"font-family:Courier\">strComputer = &#8220;.&#8221; <\/p>\n<p>Set objWMIService = GetObject(&#8220;winmgmts:\\\\&#8221; &amp; strComputer &amp; &#8220;\\root\\cimv2&#8221;) <br \/>Set colDevices = objWMIService.ExecQuery _ <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> (&#8220;Select * From Win32_USBControllerDevice&#8221;) <\/p>\n<p>For Each objDevice in colDevices <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> strDeviceName = objDevice.Dependent <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> strQuotes = Chr(34) <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> strDeviceName = Replace(strDeviceName, strQuotes, &#8220;&#8221;) <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> arrDeviceNames = Split(strDeviceName, &#8220;=&#8221;) <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> strDeviceName = arrDeviceNames(1) <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> Set colUSBDevices = objWMIService.ExecQuery _ <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> (&#8220;Select * From Win32_PnPEntity Where DeviceID = &#8216;&#8221; &amp; strDeviceName &amp; &#8220;&#8216;&#8221;) <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> For Each objUSBDevice in colUSBDevices <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> Wscript.Echo objUSBDevice.Description <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> WScript.Echo objUSBDevice.PnPDeviceID &#8216; Changed from Description to PnPDeviceID <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0<\/span><span style=\"font-family:Courier\"> &#8216;as this script can be altered to return any property <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> &#8216;of the Win32_USBControllerDevice collection. <br \/><\/span><span style=\"font-family:Courier New\">\u00a0\u00a0<\/span><span style=\"font-family:Courier\"> Next<\/span><span style=\"font-family:Courier New\">\u00a0\u00a0\u00a0<\/span><span style=\"font-family:Courier\">\n\t\t\t\t\t<br \/>Next<\/span><\/span><span style=\"font-family:Courier\">\n\t\t\t<\/span><\/span><\/p>\n<p>This script does a query to get all instances of WIN32_USBControllerDevice, then for each one it takes the DEPENDENT property and converts it to a query, it then executes that query (which gets the PNPEntities) and formats the description and deviceID.\n<\/p>\n<p>We don&#8217;t have to do that in PowerShell.  If you have a WMIPath, you can get the object it points to just by casting it with [WMI].  So that means that you can replace this script with the following one-liner (Note: I decided to sort and things to make it prettier [and to show off <span style=\"font-family:Wingdings\">J<\/span>] )\n<\/p>\n<p>\n\u00a0<\/p>\n<p style=\"margin-left: 36pt\"><span style=\"font-family:Courier;font-size:9pt\">PS&gt; gwmi Win32_USBControllerDevice |%{[wmi]($_.Dependent)} |<br \/>&gt;&gt; Sort Description,DeviceID | ft Description,DeviceID -auto<br \/>&gt;&gt;<\/p>\n<p>Description                              DeviceID<br \/>&#8212;&#8212;&#8212;&#8211;                              &#8212;&#8212;&#8211;<br \/>Bluetooth Device (Personal Area Network) BTH\\MS_BTHPAN\\6&amp;3250FFA7&amp;0&amp;2<br \/>Bluetooth Device (RFCOMM Protocol TDI)   BTH\\MS_RFCOMM\\6&amp;3250FFA7&amp;0&amp;0<br \/>Dell Wireless 350 Bluetooth Module       USB\\VID_413C&amp;PID_8103\\5&amp;111B5EE&#8230;<br \/>Disk drive                               USBSTOR\\DISK&amp;VEN_COWON&amp;PROD_IAU&#8230;<br \/>HID-compliant consumer control device    HID\\VID_045E&amp;PID_00B9&amp;COL01\\6&amp;2&#8230;<br \/>HID-compliant mouse                      HID\\VID_045E&amp;PID_00B9&amp;COL02\\6&amp;2&#8230;<br \/>HID-compliant mouse                      HID\\VID_04FC&amp;PID_0003\\6&amp;185E20E&#8230;<br \/>Microsoft Bluetooth Enumerator           BTH\\MS_BTHBRB\\6&amp;3250FFA7&amp;0&amp;1<br \/>USB Human Interface Device               USB\\VID_045E&amp;PID_00B9\\5&amp;2616CD8&#8230;<br \/>USB Human Interface Device               USB\\VID_04FC&amp;PID_0003\\5&amp;2604C4E&#8230;<br \/>USB Mass Storage Device                  USB\\VID_0E21&amp;PID_0600\\0002F685D&#8230;<br \/>USB Root Hub                             USB\\ROOT_HUB\\4&amp;2F300F63&amp;0<br \/>USB Root Hub                             USB\\ROOT_HUB\\4&amp;2F35A3CB&amp;0<br \/>USB Root Hub                             USB\\ROOT_HUB\\4&amp;88AB5AD&amp;0<br \/>USB Root Hub                             USB\\ROOT_HUB\\4&amp;8904A15&amp;0<br \/>USB Root Hub                             USB\\ROOT_HUB20\\4&amp;16530ED8&amp;0\n<\/span><\/p>\n<p>Not one to leave well enough alone, let&#8217;s guild this lilly:\n<\/p>\n<p style=\"margin-left: 36pt\"><span style=\"font-family:Courier;font-size:9pt\">PS&gt; gwmi Win32_USBControllerDevice |%{[wmi]($_.Dependent)} |<br \/>&gt;&gt; Sort Manufacturer,Description,DeviceID |<br \/>&gt;&gt; Ft -GroupBy Manufacturer Description,Service,DeviceID<br \/>&gt;&gt;<\/p>\n<p>   Manufacturer: (Standard disk drives)<\/p>\n<p>Description               Service                  DeviceID<br \/>&#8212;&#8212;&#8212;&#8211;               &#8212;&#8212;-                  &#8212;&#8212;&#8211;<br \/>Disk drive                disk                     USBSTOR\\DISK&amp;VEN_COWO&#8230;<\/p>\n<p>   Manufacturer: (Standard system devices)<\/p>\n<p>Description               Service                  DeviceID<br \/>&#8212;&#8212;&#8212;&#8211;               &#8212;&#8212;-                  &#8212;&#8212;&#8211;<br \/>USB Human Interface De&#8230; HidUsb                   USB\\VID_045E&amp;PID_00B9&#8230;<br \/>USB Human Interface De&#8230; HidUsb                   USB\\VID_04FC&amp;PID_0003&#8230;<\/p>\n<p>   Manufacturer: (Standard USB Host Controller)<\/p>\n<p>Description               Service                  DeviceID<br \/>&#8212;&#8212;&#8212;&#8211;               &#8212;&#8212;-                  &#8212;&#8212;&#8211;<br \/>USB Root Hub              usbhub                   USB\\ROOT_HUB\\4&amp;2F300F&#8230;<br \/>USB Root Hub              usbhub                   USB\\ROOT_HUB\\4&amp;2F35A3&#8230;<br \/>USB Root Hub              usbhub                   USB\\ROOT_HUB\\4&amp;88AB5AD&amp;0<br \/>USB Root Hub              usbhub                   USB\\ROOT_HUB\\4&amp;8904A15&amp;0<br \/>USB Root Hub              usbhub                   USB\\ROOT_HUB20\\4&amp;1653&#8230;<\/p>\n<p>   Manufacturer: Compatible USB storage device<\/p>\n<p>Description               Service                  DeviceID<br \/>&#8212;&#8212;&#8212;&#8211;               &#8212;&#8212;-                  &#8212;&#8212;&#8211;<br \/>USB Mass Storage Device   USBSTOR                  USB\\VID_0E21&amp;PID_0600&#8230;<\/p>\n<p>   Manufacturer: Dell<\/p>\n<p>Description               Service                  DeviceID<br \/>&#8212;&#8212;&#8212;&#8211;               &#8212;&#8212;-                  &#8212;&#8212;&#8211;<br \/>Dell Wireless 350 Blue&#8230; BTHUSB                   USB\\VID_413C&amp;PID_8103&#8230;<\/p>\n<p>   Manufacturer: Microsoft<\/p>\n<p>Description               Service                  DeviceID<br \/>&#8212;&#8212;&#8212;&#8211;               &#8212;&#8212;-                  &#8212;&#8212;&#8211;<br \/>Bluetooth Device (Pers&#8230; BthPan                   BTH\\MS_BTHPAN\\6&amp;3250F&#8230;<br \/>Bluetooth Device (RFCO&#8230; RFCOMM                   BTH\\MS_RFCOMM\\6&amp;3250F&#8230;<br \/>HID-compliant consumer&#8230;                          HID\\VID_045E&amp;PID_00B9&#8230;<br \/>HID-compliant mouse       mouhid                   HID\\VID_045E&amp;PID_00B9&#8230;<br \/>HID-compliant mouse       mouhid                   HID\\VID_04FC&amp;PID_0003&#8230;<br \/>Microsoft Bluetooth En&#8230; BthEnum                  BTH\\MS_BTHBRB\\6&amp;3250F&#8230;<br \/>\n\t\t<\/span><\/p>\n<p>In the past, people have thrown rocks at WMI for being difficult and obtuse.  There is a ton of great information in WMI and now with PowerShell, you have a tool that makes it easy to find and manipulate.  If you&#8217;ve looked at WMI in the past and given up, I encourage you to get some PowerShell skills under your belt and go at it again.\n<\/p>\n<p>Enjoy!\n<\/p>\n<p>Jeffrey Snover [MSFT]<br \/>Windows PowerShell\/MMC Architect<br \/>Visit the Windows PowerShell Team blog at:    <a href=\"http:\/\/blogs.msdn.com\/PowerShell\">http:\/\/blogs.msdn.com\/PowerShell<\/a><br \/>Visit the Windows PowerShell ScriptCenter at:  <a href=\"http:\/\/www.microsoft.com\/technet\/scriptcenter\/hubs\/msh.mspx\">http:\/\/www.microsoft.com\/technet\/scriptcenter\/hubs\/msh.mspx<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over on MyItForum.com, I came upon a VBScript in a forum to find all the PNP entities associated with a USBController. I rewrote it in PowerShell and was pretty happy with the results so I thought I would share them. The first thing you need to understand is that the WMI class WIN32_USBControllerDevice describes the [&hellip;]<\/p>\n","protected":false},"author":600,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-8481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-wmi"],"acf":[],"blog_post_summary":"<p>Over on MyItForum.com, I came upon a VBScript in a forum to find all the PNP entities associated with a USBController. I rewrote it in PowerShell and was pretty happy with the results so I thought I would share them. The first thing you need to understand is that the WMI class WIN32_USBControllerDevice describes the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/8481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/600"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=8481"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/8481\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=8481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=8481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=8481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}