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