2011-11-19 5 views
5

Ho appena scoperto PowerShell letteralmente ieri e lo adoro.Come si elencano solo le partizioni del disco montate valide usando Get-PSDrive?

Sto cercando di elencare tutte le partizioni valide valide in modo da poterle fare una variabile ed eseguire chkdsk su di esse. Il problema è che non voglio rilevare partizioni di backup sulla macchina. Il computer che sto usando per scrivere e testare questo script non ha alcuna partizione di backup/non montata. Sto leggendo completamente get-help get-psdrives ma non ho la consapevolezza di capire se le opzioni possono fare ciò di cui ho bisogno (o se lo stanno già facendo).

risposta

3

Questo ti porterà tutte le unità che è possibile eseguire chkdsk on:

Get-PSDrive -PSProvider FileSystem 

Edit: Questo ti porterà le unità montate che sono o Local Disks (3) or removable disks (2):

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

Grazie! Questo è esattamente ciò che stavo usando, ma non ero in grado di confermare se elencasse solo le unità montate. Lo apprezzo. – karmet

+0

in realtà sto ancora avendo un problema. Sembra inoltre necessario limitare l'elenco alle unità non di rete e Get-PSDrive | dove {$ _. Provider.Name -eq "FileSystem"} elenca le unità di rete. Sai come produco una lista senza di loro o li filtra? – karmet

+0

@ user1055713 Ho aggiornato la soluzione. – Nasreddine