Получите последний том с помощью PowerShell - PullRequest
0 голосов
/ 02 июня 2018

Я изо всех сил пытаюсь получить последний том / диск с помощью PowerShell

У меня получился результат, похожий на PowerShell

PS C:\Users\me> Get-WMIObject Win32_Volume | select Name

Name
----
C:\
D:\
E:\
\\?\Volume{021a6bbd-0b97-4973-824a-7c635e362f09}\
\\?\Volume{bae1c1d6-59c3-44b1-9360-b7d3101c0e92}\


PS C:\Users\me>

Если яхотите получить доступ только к этому

E:

Как я могу отфильтровать до :\ с самым высоким алфавитным порядком?

Я пробовал так много вариантов, используя Select-String, но, похоже, результат получился хуже.

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Те, которые вы хотите, не начинаются с "\\".Буквы дисков могут быть возвращены в любом порядке, поэтому вам нужно отсортировать их и взять последнюю:

Get-WMIObject Win32_Volume | Where-Object {$_.Name -NotLike '\\*'} | select Name | Sort-Object -Property Name | Select-Object -Last 1

Или, если известно, что буква диска находится в диапазоне от A до Z, тогдабыло бы разумнее использовать -Like '[A-Z]*' вместо -NotLike '\\*'.

0 голосов
/ 02 июня 2018

Попробуйте что-то вроде этого

Get-WMIObject Win32_Volume | where {$_.Name -eq "E:\"}

. Это должно дать вам список объектов, к которым вы можете получить доступ как массив.Также здесь много полезной информации https://technet.microsoft.com/en-gb/library/2007.04.powershell.aspx

...