Pregunta

Necesito saber, desde Powershell, si la unidad actual es una unidad asignada o no.

Desafortunadamente, Get-PSDrive no funciona " como se esperaba " ;:

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

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

pero en 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.

Lo que quiero hacer es obtener la raíz de la unidad y mostrarla en el indicador (consulte: Personalizando el indicador de PowerShell - ¿Equivalente a $ M $ P $ _ $ + $ G de CMD )

¿Fue útil?

Solución

Utilice el marco .NET:

PS H:\> $x = new-object system.io.driveinfo("h:\")
PS H:\> $x.drivetype
Network

Otros consejos

Prueba WMI:

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

Una forma alternativa de usar WMI:

get-wmiobject Win32_LogicalDisk | ? {$ _. deviceid -eq " s: "} | % {$ _. providername}

Obtenga todas las unidades de red con:

get-wmiobject Win32_LogicalDisk | ? {$ _. drivetype -eq 4} | % {$ _. providername}

Una variación ligeramente más compacta de la respuesta aceptada:

[System.IO.DriveInfo]("C")

Lleve esto un paso más allá como se muestra a continuación:

([System.IO.DriveInfo]("C")).Drivetype

Tenga en cuenta que esto solo funciona para el sistema local. Use WMI para computadoras remotas.

La forma más confiable es usar WMI

get-wmiobject win32_volume | ? { 

La forma más confiable es usar WMI

<*>

El DriveType es una enumeración con los siguientes valores

0 - Desconocido 1 - No hay directorio raíz 2 - Disco extraíble 3 - Disco local 4 - Unidad de red 5 - Disco compacto 6 - Disco RAM

Aquí hay un enlace a una publicación de blog que hice sobre el tema

.DriveType -eq 4 } | % { get-psdrive

La forma más confiable es usar WMI

<*>

El DriveType es una enumeración con los siguientes valores

0 - Desconocido 1 - No hay directorio raíz 2 - Disco extraíble 3 - Disco local 4 - Unidad de red 5 - Disco compacto 6 - Disco RAM

Aquí hay un enlace a una publicación de blog que hice sobre el tema

.DriveLetter[0] }

El DriveType es una enumeración con los siguientes valores

0 - Desconocido 1 - No hay directorio raíz 2 - Disco extraíble 3 - Disco local 4 - Unidad de red 5 - Disco compacto 6 - Disco RAM

Aquí hay un enlace a una publicación de blog que hice sobre el tema

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