{"id":406,"date":"2026-06-05T10:24:25","date_gmt":"2026-06-05T16:24:25","guid":{"rendered":"https:\/\/blog.d5.ca\/?p=406"},"modified":"2026-06-05T10:58:31","modified_gmt":"2026-06-05T16:58:31","slug":"get-serial-numbers-of-currently-attached-usb-flash-drives","status":"publish","type":"post","link":"https:\/\/blog.d5.ca\/?p=406","title":{"rendered":"Get Serial Numbers of Currently-Attached USB Flash Drives"},"content":{"rendered":"<h3>TL;DR &#8211; Run the following PowerShell command:<\/h3>\n<pre>Get-WmiObject Win32_USBControllerDevice | % { [wmi]$_.Dependent } | Where-Object DeviceID -like \"*USBSTOR*\" | ForEach-Object { [PSCustomObject]@{ \"FriendlyName\" = $_.Caption; \"SerialNumber\" = $_.DeviceID.Split('\\')[-1] } }<\/pre>\n<p><!--more--><\/p>\n<h3>How it Works<\/h3>\n<ul>\n<li>\n<p data-path-to-node=\"6,0,0\"><b data-path-to-node=\"6,0,0\" data-index-in-node=\"0\"><code data-path-to-node=\"6,0,0\" data-index-in-node=\"0\">Get-WmiObject Win32_USBControllerDevice<\/code><\/b> gets a live list of every hardware device currently connected to a USB controller.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\"><b data-path-to-node=\"6,1,0\" data-index-in-node=\"0\"><code data-path-to-node=\"6,1,0\" data-index-in-node=\"0\">Where-Object DeviceID -like \"*USBSTOR*\"<\/code><\/b> filters Mass Storage drives.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,2,0\"><b data-path-to-node=\"6,2,0\" data-index-in-node=\"0\"><code data-path-to-node=\"6,2,0\" data-index-in-node=\"0\">$_.DeviceID.Split('\\')[-1]<\/code><\/b> returns the end of the hardware path, which is the raw hardware serial number.<\/p>\n<\/li>\n<\/ul>\n<p>To get info for all USB Mass Storage drives that have ever been plugged into the system, the registry can be queried as follows:<\/p>\n<pre>Get-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Enum\\USBSTOR\\*\\*\\\" | Select-Object FriendlyName, PSChildName<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR &#8211; Run the following PowerShell command: Get-WmiObject Win32_USBControllerDevice | % { [wmi]$_.Dependent } | Where-Object DeviceID -like &#8220;*USBSTOR*&#8221; | ForEach-Object { [PSCustomObject]@{ &#8220;FriendlyName&#8221; = $_.Caption; &#8220;SerialNumber&#8221; = $_.DeviceID.Split(&#8216;\\&#8217;)[-1] } }<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[25],"tags":[],"class_list":["post-406","post","type-post","status-publish","format-standard","hentry","category-reference"],"_links":{"self":[{"href":"https:\/\/blog.d5.ca\/index.php?rest_route=\/wp\/v2\/posts\/406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.d5.ca\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.d5.ca\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.d5.ca\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.d5.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=406"}],"version-history":[{"count":2,"href":"https:\/\/blog.d5.ca\/index.php?rest_route=\/wp\/v2\/posts\/406\/revisions"}],"predecessor-version":[{"id":415,"href":"https:\/\/blog.d5.ca\/index.php?rest_route=\/wp\/v2\/posts\/406\/revisions\/415"}],"wp:attachment":[{"href":"https:\/\/blog.d5.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.d5.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.d5.ca\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}