2008-10-01 38 views
1

在PowerShell中,即使有可能知道,如果一個驅動器是一個網絡驅動器:看In PowerShell, how can I determine if the current drive is a networked drive or not?在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來告訴我們的根是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:\ 

如何GE的任何想法那個信息?

由於

回答

0

嘗試WMI:

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

A小調挑剔,它的獲取 - WmiObject可以代替GET-WMI :) – JJarava 2008-10-01 16:39:42

0

$驅動= gwmi的Win32_LogicalDisk篩選器 「的DeviceID = 'H:'」 如果($ drive.DriveType -eq 4){寫主機「驅動器是網絡共享 「}

0

$ FSO =新物體-com 」Scripting.FileSystemObject的「 $ fso.GetDrive(」 Y「)。共享名

3

訣竅在於,所述貢品名與預期不同。 嘗試:

(Get-PSDrive h).DisplayRoot