在PowerShell中,如何确定驱动器的根目录(假设它是网络驱动器)

时间:2020-03-06 14:59:07  来源:igfitidea点击:

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

当我尝试获取驱动器的"根"时,我找回了驱动器号。

设置:
MS-Dos的"网络使用情况"表明H:实际上是一个映射的网络驱动器:

New connections will be remembered.

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

The command completed successfully.

Get-PSDrive告诉我们根是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:\

关于如何获取该信息的任何想法吗?

谢谢

解决方案

尝试WMI:

Get-WMIObject -query "Select ProviderName From Win32_LogicalDisk Where DeviceID='H:'"

$ drive = gwmi win32_logicaldisk -filter" DeviceID ='H:'"
if($ drive.DriveType -eq 4){写主机"驱动器是网络共享"}

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