1

在 PowerShell 中,即使可以知道驱动器是否为网络驱动器:请参阅在 PowerShell 中,如何确定当前驱动器是否为网络驱动器?

当我尝试获取驱动器的“根”时,我得到了驱动器号。

设置:MS-Dos "net use" 显示 H: 实际上是一个映射的网络驱动器:

New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK           H:        \\spma1fp1\JARAVJ$        Microsoft Windows Network

The command completed successfully.

Get-PSDrive 告诉我们 Root 是 H:

PS:24 H:\temp
>get-psdrive  h

Name       Provider      Root      CurrentLocation
----       --------      ----      ---------------
H          FileSystem    H:\          temp

并且使用 system.io.driveinfo 并没有给我们一个完整的答案:

PS:13 H:\
>$x = new-object system.io.driveinfo("h:\")
PS:14 H:\
>$x.DriveType
Network
PS:15 H:\
>$x.RootDirectory

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        29/09/2008     16:45            h:\

知道如何获取该信息吗?

谢谢

4

4 回答 4

6

诀窍是属性名称与预期不同。尝试:

(Get-PSDrive h).DisplayRoot

于 2016-04-11T13:36:38.800 回答
2

尝试 WMI:

Get-WMIObject -query "Select ProviderName From Win32_LogicalDisk Where DeviceID='H:'"
于 2008-10-01T16:35:01.247 回答
0

$drive = gwmi win32_logicaldisk -filter "DeviceID='H:'" if($drive.DriveType -eq 4) {write-host "drive is a network share"}

于 2008-10-01T17:21:42.447 回答
0

$fso=new-object -com "Scripting.Filesystemobject" $fso.GetDrive("Y").ShareName

于 2008-10-06T15:00:44.623 回答