2011-11-19 7 views
5

Acabo de descubrir PowerShell literalmente ayer y me encanta.¿Cómo enumero solo las particiones de disco montadas válidas usando Get-PSDrive?

Estoy tratando de enumerar todas las particiones válidas montadas así que las puedo hacer una variable y ejecutar chkdsk en ellas. El problema es que no quiero detectar particiones de respaldo en la máquina. La computadora que estoy usando para escribir y probar esta secuencia de comandos no tiene ninguna copia de seguridad/particiones no montadas. Estoy completamente leyendo get-help get-psdrives pero no tengo el conocimiento para entender si las opciones pueden hacer lo que necesito (o si ya lo están haciendo).

Respuesta

3

Esto le dará todas las unidades que se pueden ejecutar chkdsk en:

Get-PSDrive -PSProvider FileSystem 

Editar: Esto le dará las unidades montadas que son o bien Local Disks (3) or removable disks (2):

Get-WmiObject -class “Win32_LogicalDisk" | ?{ @(2, 3) -contains $_.DriveType } 
+0

¡Gracias! Eso es exactamente lo que estaba usando, pero no pude confirmar si eso incluye solo unidades montadas. Lo aprecio. – karmet

+0

en realidad todavía estoy teniendo un problema. Parece que también necesito limitar la lista a unidades que no son de red y Get-PSDrive | donde {$ _. Provider.Name -eq "FileSystem"} enumera las unidades de red. ¿Sabes cómo puedo producir una lista sin ellos o filtrarlos? – karmet

+0

@ user1055713 Actualicé la solución. – Nasreddine

Cuestiones relacionadas