Получить имя раздела с помощью PowerShell

У меня есть флешка, которую я отформатировал так, чтобы метка тома на диске была "PHILIP".

введите здесь описание изображения

Я использую Get-PSDrive H -PSProvider FileSystem, чтобы определить, подключен ли диск, однако мне бы очень хотелось определить, подключен ли диск по метке тома, то есть Get-PSDrive -VolumeLabel PHILIP -PSProvider FileSystem. Конечно, параметр VolumeLabel не существует, поэтому это не работает.

Есть ли способ перечислить диски на компьютере по имени тома?


person Phil    schedule 12.10.2012    source источник


Ответы (3)


Вы можете использовать WMI, я думаю:

Get-WMIObject Win32_Volume | ? { $_.Label -eq 'PHILIP' }
person Joey    schedule 12.10.2012

Вы можете использовать класс DriveInfo из платформы .NET. также:

PS> [System.IO.DriveInfo]::GetDrives()
Name               : C:\
DriveType          : Fixed
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 217269202944
TotalFreeSpace     : 217269202944
TotalSize          : 320070479872
RootDirectory      : C:\
VolumeLabel        : OS

Затем вы можете передать это командлету Where-Object?, и Where являются псевдонимами), чтобы отфильтровать это только для тома, который вы ищете:

PS> [System.IO.DriveInfo]::GetDrives() | ? {$_.VolumeLabel -eq "PHILIP" }
person Goyuix    schedule 12.10.2012

Я использую Get-WMIObject, как предлагает Джоуи. Чтобы связать результаты wmi, например, с разделом get, я использую параметр заголовка. В этом примере я установил букву раздела тома Philip на D

$datavolume=Get-WMIObject Win32_Volume | ? { $_.Label -eq 'ФИЛИПП' }

$datavolume=$datavolume.Caption

получить-раздел-DiskNumber 0 | где {$_.accesspaths - как $datavolume} | Set-Partition -NewDriveLetter D

person Johan A.    schedule 20.12.2019