Подтвердить что ты не робот

Список всех устройств, разделов и томов в Powershell

У меня есть несколько томов (как сейчас почти все): в Windows они в конечном итоге указаны как C:, D: и так далее. Как я могу перечислить все это на Unix-машине с помощью "ls/mnt/" с Powershell?

4b9b3361

Ответ 1

Чтобы получить все диски файловой системы, вы можете использовать следующую команду:

gdr -PSProvider 'FileSystem'

gdr является псевдонимом для Get-PSDrive, который включает все "виртуальные диски" для реестра и т.д.

Ответ 2

Get-Volume

вы получите: DriveLetter, FileSystemLabel, FileSystem, DriveType, HealthStatus, SizeRemaining и Size

Ответ 3

В Windows Powershell:

Get-PSDrive 
[System.IO.DriveInfo]::getdrives()
wmic diskdrive
wmic volume

Также утилита dskwipe: http://smithii.com/dskwipe

dskwipe.exe -l

Ответ 4

Во-первых, в Unix вы используете mount, а не ls /mnt: многие вещи не установлены в /mnt.

Во всяком случае, есть команда mountvol DOS, которая продолжает работать в Powershell, и там определенная Powershell Get-PSDrive.

Ответ 5

Это довольно старый, но я нашел следующее замечание:

PS N:\> (measure-command {Get-WmiObject -Class Win32_LogicalDisk|select -property deviceid|%{$_.deviceid}|out-host}).totalmilliseconds
...
928.7403
PS N:\> (measure-command {gdr -psprovider 'filesystem'|%{$_.name}|out-host}).totalmilliseconds
...
169.474

Без фильтрующих свойств в моей тестовой системе 4319.4196мс до 1777.7237мс. Если мне не нужен объект PS-Drive, я буду придерживаться WMI.

EDIT:  Я думаю, что у нас есть победитель: PS N: > (measure-command {[System.IO.DriveInfo]:: getdrives() |% {$ _. Name} | out-host}). To talmilliseconds 110.9819

Ответ 6

Хотя это не "powershell" специфический... вы можете легко перечислить диски и разделы с помощью diskpart, list volume

PS C:\Dev> diskpart

Microsoft DiskPart version 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: Box

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     D                       DVD-ROM         0 B  No Media
Volume 1         C = System   NTFS   Partition    100 MB  Healthy    System
Volume 2     G   C = Box      NTFS   Partition    244 GB  Healthy    Boot
Volume 3     H   D = Data     NTFS   Partition    687 GB  Healthy
Volume 4     E   System Rese  NTFS   Partition    100 MB  Healthy

Ответ 7

У нас есть несколько томов на диск (некоторые из них монтируются в подкаталогах на диске). Этот код показывает список точек монтирования и томов. Очевидно, вы также можете извлечь свободное пространство и так далее:

gwmi win32_volume|where-object {$_.filesystem -match "ntfs"}|sort {$_.name} |foreach-object {
  echo "$(echo $_.name) [$(echo $_.label)]"
}

Ответ 9

alt text

Функция PS: > get-psdrive