PowerShellでは、ドライブのルートを特定するにはどうすればよいですか(ネットワークドライブであると仮定して)
-
03-07-2019 - |
質問
PowerShellでは、ドライブがネットワークドライブかどうかを知ることができる場合でも: PowerShellで、現在のドライブがネットワークドライブであるかどうかを確認するにはどうすればよいですか
" root"を取得しようとするとドライブの場合、ドライブ文字が返されます。
セットアップ: 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:'"
他のヒント
トリックは、属性名が予想と異なることです。 試してください:
(Get-PSDrive h).DisplayRoot
$ drive = gwmi win32_logicaldisk -filter" DeviceID = 'H:'" if($ drive.DriveType -eq 4){write-host" drive is a network share"}
$ fso = new-object -com" Scripting.Filesystemobject" $ fso.GetDrive(" Y")。ShareName
所属していません StackOverflow