ver unidad una selecciono ruta que puede problemas por mapear existe conocer conectar compartida como carpeta acceso accesible acceder c# powershell networking mapped-drive

c# - selecciono - En PowerShell, ¿cómo puedo determinar si la unidad actual es una unidad en red o no?



problemas conectar unidad de red windows 10 (6)

Necesito saber, desde dentro de Powershell, si la unidad actual es una unidad mapeada o no.

Lamentablemente, 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 mapeada:

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: Personalizar el indicador de PowerShell - ¿Equivalente a $ M $ P $ _ $ + $ G de CMD? )


Pruebe 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}


Use el framework .NET:

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


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

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


Lleva 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 | ? { $_.DriveType -eq 4 } | % { get-psdrive $_.DriveLetter[0] }

DriveType es una enumeración con los siguientes valores

0 - Desconocido 1 - Sin 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