Get-PSDrive
Возвращает диски в текущем сеансе.
Синтаксис
Get-PSDrive
[[-Name] <String[]>]
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
Get-PSDrive
[-LiteralName] <String[]>
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
Описание
Командлет Get-PSDrive
получает диски в текущем сеансе. Вы можете получить определенный диск или все диски в сеансе.
Этот командлет получает следующие типы дисков:
- Логические диски Windows на компьютере, включая диски, сопоставленные с сетевыми ресурсами.
- Диски, предоставляемые поставщиками PowerShell (например, certificate:, Function:и Alias: диски) и HKLM: и HKCU: диски, предоставляемые поставщиком реестра Windows PowerShell.
- Указанные сеансом временные диски и постоянные сопоставленные сетевые диски, созданные с помощью командлета New-PSDrive.
Начиная с Windows PowerShell 3.0 параметр сохранить командлета New-PSDrive
может создавать сопоставленные сетевые диски, сохраненные на локальном компьютере и доступные в других сеансах. Дополнительные сведения см. в статье New-PSDrive.
Кроме того, начиная с Windows PowerShell 3.0, когда внешний диск подключен к компьютеру, Windows PowerShell автоматически добавляет PSDrive в файловую систему, представляющую новый диск. Вам не нужно перезапустить Windows PowerShell. Аналогичным образом, если внешний диск отключен от компьютера, Windows PowerShell автоматически удаляет PSDrive, представляющий удаленный диск.
Примеры
Пример 1. Получение дисков в текущем сеансе
PS C:\> Get-PSDrive
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Alias Alias
C 202.06 23718.91 FileSystem C:\
Cert Certificate \
D 1211.06 123642.32 FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
Эта команда получает диски в текущем сеансе.
В выходных данных показаны жесткие диски (C:), CD-ROM диск (D:), а диски, предоставляемые поставщиками Windows PowerShell (Псевдоним:, Cert:, Env:, Function:, HKCU:, HKLM:и Переменная:).
Пример 2. Получение диска на компьютере
PS C:\foo> Get-PSDrive D
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
D 1211.06 123642.32 FileSystem D:\
Эта команда получает диск D: на компьютере. Обратите внимание, что за буквой диска в команде не следует двоеточие.
Пример 3. Получение всех дисков, поддерживаемых поставщиком файловой системы Windows PowerShell
PS C:\> Get-PSDrive -PSProvider FileSystem
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
A A:\
C 202.06 23718.91 FileSystem C:\
D 1211.06 123642.32 FileSystem D:\
G 202.06 710.91 FileSystem \\Music\GratefulDead
Эта команда получает все диски, поддерживаемые поставщиком файловой системы Windows PowerShell. Сюда входят фиксированные диски, логические секции, сопоставленные сетевые диски и временные диски, создаваемые с помощью командлета New-PSDrive.
Пример 4. Проверьте, используется ли диск в качестве имени диска Windows PowerShell
if (Get-PSDrive X -ErrorAction SilentlyContinue) {
Write-Host 'The X: drive is already in use.'
} else {
New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}
Эта команда проверяет, уже ли используется диск X в качестве имени диска Windows PowerShell.
Если это не так, команда использует командлет New-PSDrive
для создания временного диска, сопоставленного с разделом реестра HKLM:\SOFTWARE.
Пример 5. Сравнение типов дисков файловой системы
PS C:\> Get-PSDrive -PSProvider FileSystem
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
A A:\
C 202.06 23718.91 FileSystem C:\
D 1211.06 123642.32 FileSystem D:\
G 202.06 710.91 FileSystem \\Music\GratefulDead
X Registry HKLM:\Network
PS C:\> net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK G: \\Server01\Public Microsoft Windows Network
PS C:\> [System.IO.DriveInfo]::GetDrives() | Format-Table
Name DriveType DriveFormat IsReady AvailableFreeSpace TotalFreeSpace TotalSize RootDirectory VolumeLabel
---- --------- ----------- ------- ------------------ -------------- --------- ------------- -----------
A:\ Network False A:\
C:\ Fixed NTFS True 771920580608 771920580608 988877418496 C:\ Windows
D:\ Fixed NTFS True 689684144128 689684144128 1990045179904 D:\ Big Drive
E:\ CDRom False E:\
G:\ Network NTFS True 69120000 69120000 104853504 G:\ GratefulDead
PS N:\> Get-CimInstance -Class Win32_LogicalDisk
DeviceID DriveType ProviderName VolumeName Size FreeSpace
-------- --------- ------------ ---------- ---- ---------
A: 4
C: 3 Windows 988877418496 771926069248
D: 3 Big! 1990045179904 689684144128
E: 5
G: 4 \\Music\GratefulDead 988877418496 771926069248
PS C:\> Get-CimInstance -Class Win32_NetworkConnection
LocalName RemoteName ConnectionState Status
--------- ---------- --------------- ------
G: \\Music\GratefulDead Connected OK
В этом примере сравниваются типы дисков файловой системы, отображаемые Get-PSDrive
, с теми, которые отображаются с помощью других методов. В этом примере показаны различные способы отображения дисков в Windows PowerShell, а также показано, что диски, созданные с помощью командлета New-PSDrive, доступны только в Windows PowerShell.
Первая команда использует Get-PSDrive
для получения всех дисков файловой системы в сеансе. К ним относятся фиксированные диски (C: и D:), сопоставленный сетевой диск (G:), созданный с помощью параметра СохранитьNew-PSDrive
, а также диск PowerShell (T:), созданный с помощью New-PSDrive
без параметра Сохранить.
Команда чистого использования отображает сопоставленные сетевые диски Windows, в этом случае отображается только диск G. Он не отображает диск X, созданный New-PSDrive
. В нем показано, что диск G: также сопоставляется с \\Music\GratefulDead.
Третья команда использует метод GetDrives класса System.IO.DriveInfo microsoft .NET Framework. Эта команда получает диски файловой системы Windows, включая диск G:, но не получает диски, созданные New-PSDrive
.
Четвертая команда использует командлет Get-CimInstance
для получения экземпляров класса Win32_LogicalDisk. Он возвращает диски A:, C:, D:, E:и G: диски, но не диски, созданные New-PSDrive
.
Последняя команда использует командлет Get-CimInstance
для отображения экземпляров класса Win32_NetworkConnection. Как и net use, он возвращает только постоянный диск G: созданный New-PSDrive
.
Параметры
-LiteralName
Указывает имя диска.
Значение LiteralName используется точно так же, как и тип. Символы не интерпретируются как подстановочные знаки. Если имя содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки говорят Windows PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Тип: | String[] |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Name
Указывает в виде строкового массива имя или имя дисков, которые этот командлет получает в операции.
Введите имя диска или букву без двоеточия (:
).
Тип: | String[] |
Position: | 0 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-PSProvider
Указывает в виде строкового массива поставщик Windows PowerShell. Этот командлет получает только диски, поддерживаемые этим поставщиком. Введите имя поставщика, например FileSystem, Registry или Certificate.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Scope
Указывает область, в которой этот командлет получает диски.
Допустимые значения для этого параметра:
- Глобальный
- Местный
- Сценарий
- число относительно текущей области (от 0 до числа областей, где 0 является текущей областью, а 1 — родительским). "Локальный" — это значение по умолчанию.
Дополнительные сведения см. в about_Scopes.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объекты, представляющие диски в сеансе.
Примечания
PowerShell включает следующие псевдонимы для Get-PSDrive
:
Все платформы:
gdr
Этот командлет предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, используйте командлет
Get-PSProvider
. Дополнительные сведения см. в разделе about_Providers.Сопоставленные сетевые диски, созданные с помощью параметра Сохранить командлета New-PSDrive, относятся к учетной записи пользователя. Сопоставленные сетевые диски, создаваемые в сеансах, запущенных с параметром "Запуск от имени администратора" или учетными данными другого пользователя, не отображаются в сеансах, которые запускаются без явных учетных данных или с учетными данными текущего пользователя.
Связанные ссылки
PowerShell