В PowerShell, как я могу определить корневой каталог диска (предположим, что это сетевой диск)

StackOverflow https://stackoverflow.com/questions/158520

Вопрос

В 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 -фильтровать "DeviceID='H:'" если($drive.DriveType -уравнение 4) {узел записи "диск является общим сетевым ресурсом"}

$fso=новый объект -com "Scripting.Объект файловой системы" $fso.GetDrive("Y").Общее имя

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top