En PowerShell, ¿cómo puedo determinar la raíz de una unidad (suponiendo que sea una unidad en red)?

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

Pregunta

En PowerShell, incluso si es posible saber si una unidad es una unidad de red: consulte en PowerShell, ¿cómo puedo determinar si la unidad actual es una unidad en red o no?

Cuando intento obtener la raíz " " " del disco, recupero la letra del disco.

La configuración: MS-Dos " uso neto " muestra que H: es realmente una unidad de red asignada:

New connections will be remembered.

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

The command completed successfully.

Get-PSDrive nos dice que la raíz es H:

PS:24 H:\temp
>get-psdrive  h

Name       Provider      Root      CurrentLocation
----       --------      ----      ---------------
H          FileSystem    H:\          temp

y el uso de system.io.driveinfo no nos da una respuesta completa:

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:\

¿Alguna idea de cómo obtener esa información?

Gracias

¿Fue útil?

Solución

Prueba WMI:

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

Otros consejos

El truco es que el nombre del atributo es diferente al esperado. Prueba:

(Get-PSDrive h) .DisplayRoot

$ drive = gwmi win32_logicaldisk -filter " DeviceID = 'H:' " if ($ drive.DriveType -eq 4) {write-host " la unidad es un recurso compartido de red "}

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top