14

Need a PowerShell command to display drive letter and path it is mapped to.

In other words a command that shows me the same thing Windows Explorer would.

Tried this:

Get-WmiObject -Class Win32_MappedLogicalDisk | select Name, ProviderName

and it is missing several drives (listed in Windows Explorer).

Kellen Stuart
  • 558
  • 3
  • 8
  • 18
  • Does `Get-PSDrive` show these missing drives? Is there something special or weird about these drives that are missing? Are they all mappings to a Windows server? – Zoredache Dec 29 '16 at 18:50
  • Do you specifically wish to exclude local filesystem drives? – Jeff Zeitlin Dec 29 '16 at 18:51
  • How about a good old `NET USE` command from Powershell or a command prompt? – Vomit IT - Chunky Mess Style Dec 29 '16 at 18:55
  • @ITSolutions `net use` doesn't work in Powershell... unless you drop into cmd prompt – Kellen Stuart Dec 29 '16 at 19:06
  • @Zoredache I can see the missing drive letters under the name column for `Get-PSDrive` command. The provider isn't showing me the path to them. Tried to select the `ProviderName` from `Get-PSDrive` and no dice – Kellen Stuart Dec 29 '16 at 19:08
  • 2
    What do you mean 'net use` doesn't work under powershell? It works perfectly fine. Perhaps you should spend some type in your question elaborating about why you need this, and how these particular drives were mapped in the first place. Additional context may help us figure out what the problem is and get you an answer. – Zoredache Dec 29 '16 at 19:16
  • 2
    Instead of *mentioning* what you see it would be far mor helpfull to actually *show* what you see. Post a screenshot of your explorer window and the output of `Get-PSDrive`. – Lieven Keersmaekers Dec 29 '16 at 19:21
  • @Zoredache Ok. `net use` worked. I can swear I tried that before and it did not work. I think this is because I was trying to map a network drive last time I used `net use`. – Kellen Stuart Dec 29 '16 at 21:33
  • You won't see mapped network drive in PS or CMD when you run as Administrator – Josiah DeWitt Apr 01 '21 at 22:08

3 Answers3

13

In PowerShell 5 (Windows 10) and above, use:

Get-SMBMapping

https://docs.microsoft.com/en-us/powershell/module/smbshare/get-smbmapping?view=win10-ps

Minkus
  • 324
  • 3
  • 7
  • 1
    I'm going to accept this as the answer because this most directly answers the question (e.g. using powershell Cmdlets) – Kellen Stuart Jan 08 '20 at 17:03
4

On the assumption that you do not wish to exclude drives that point to the local filesystem, I believe that

Get-PSDrive -PSProvider FileSystem | Select-Object name, @{n="Root"; e={if ($_.DisplayRoot -eq $null) {$_.Root} else {$_.DisplayRoot}}}

will serve your need. If you do wish to exclude drives that point to the local filesystem, you may find

Get-PSDrive -PSProvider FileSystem | Select-Object Name, DisplayRoot | Where-Object {$_.DisplayRoot -ne $null}

to be more to your liking.

Jeff Zeitlin
  • 4,416
  • 2
  • 16
  • 30
3

TryNET USE command from Powershell

Ok. net use worked. I can swear I tried that before and it did not work. I think this is because I was trying to map a network drive last time I used net use. – Kolob Canyon

Vomit IT - Chunky Mess Style
  • 40,038
  • 27
  • 84
  • 117