如何使用PowerShell获取映射的驱动器?

使用PowerShell获取映射网络驱动器的方法很少。

  • CMD命令方法。

您可以在PowerShell中使用cmd命令net use来获取映射的驱动器。

net use

输出结果

PS C:\WINDOWS\system32> net use
New connections will be remembered.
Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           K:        \\localhost\shared folder Microsoft Windows Network
OK           L:        \\localhost\Shared        Microsoft Windows Network
The command completed successfully.

要在远程计算机上获取映射的驱动器,

Invoke-Command -ComputerName RemoteComputer -ScriptBlock{Net use}

要么

Invoke-Command -ComputerName RemoteComputer -ScriptBlock{Invoke-Expression -Command "Net use"}
  • PowerShell WMI和CimInstance方法。

您还可以使用具有类名Win32_MappedLogicalDisk的PowerShell WMI方法来获取本地计算机上的映射网络驱动器。

Get-WmiObject -ClassName Win32_MappedLogicalDisk | Select PSComputerName, Name,ProviderName

PSComputerName  Name ProviderName
--------------  ---- ------------
DESKTOP-9435KM9 K:   \\localhost\shared folder
DESKTOP-9435KM9 L:   \\localhost\Shared

要在远程计算机上获得相同的信息。

Get-WmiObject -ClassName Win32_MappedLogicalDisk –ComputerName RemoteComputer | Select PSComputerName, Name,ProviderName

使用CIM方法。

Get-CimInstance -ClassName Win32_MappedLogicalDisk | Select SystemName, DeviceID, ProviderName

在远程系统上。

Get-CimInstance -ClassName Win32_MappedLogicalDisk –ComputerName RemoteSystem | Select SystemName, DeviceID, ProviderName
  • Get-PSDrive方法。

在本地计算机上,您可以运行Get-PSDrive PowerShell cmdlet,但它将获取所有可用的驱动器。为了获得网络驱动器,我们需要对输出进行如下过滤。

Get-PSDrive | where{$_.DisplayRoot -match "\\"}

输出结果

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
K                 318.16         47.24 FileSystem    \\localhost\shared folder
M                 286.07         79.36 FileSystem    \\localhost\Shared Folder

在远程计算机上获取映射的驱动器。

Invoke-Command –ComputerName RemoteComputer -ScriptBlock{Get-PSDrive | where{$_.DisplayRoot -match "\\"}}