Поделиться через


Get-PSDrive

Получает диски в текущем сеансе.

Синтаксис

Get-PSDrive
   [[-Name] <String[]>]
   [-Scope <String>]
   [-PSProvider <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-PSDrive
   [-LiteralName] <String[]>
   [-Scope <String>]
   [-PSProvider <String[]>]
   [-UseTransaction]
   [<CommonParameters>]

Описание

Командлет Get-PSDrive получает диски в текущем сеансе. Можно получить определенный диск или все диски в сеансе.

Этот командлет получает следующие типы дисков:

  • Логические диски Windows на компьютере, включая диски, сопоставленные с общими сетевыми ресурсами.
  • Диски, предоставляемые поставщиками Windows PowerShell (например, диски Certificate:, Function:и Alias: ), а также HKLM: и HKCU: диски, предоставляемые поставщиком реестра Windows PowerShell.
  • Временные диски, заданные сеансом, и постоянные сопоставленные сетевые диски, созданные с помощью командлета New-PSDrive.

Начиная с Windows PowerShell 3.0, параметр Persist командлета New-PSDrive может создавать сопоставленные сетевые диски, сохраняемые на локальном компьютере и доступные в других сеансах. Дополнительные сведения см. в статье New-PSDrive.

Кроме того, начиная с Windows PowerShell 3.0, когда внешний диск подключается к компьютеру, Windows PowerShell автоматически добавляет в файловую систему объект PSDrive, представляющий новый диск. Перезапускать Windows PowerShell не нужно. Аналогичным образом, когда внешний диск отключается от компьютера, Windows PowerShell автоматически удаляет объект PSDrive, представляющий удаленный диск.

Примеры

Пример 1. Получение дисков в текущем сеансе

PS C:\> Get-PSDrive

Name       Provider      Root
----       --------      ----
Alias      Alias
C          FileSystem    C:\
Cert       Certificate   \
D          FileSystem    D:\
Env        Environment
Function   Function
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE
Variable   Variable

Эта команда получает диски в текущем сеансе.

В выходных данных показаны жесткий диск (C:), дисковод КОМПАКТ-дисков (D:) и диски, предоставляемые поставщиками Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:и Variable:).

Пример 2. Получение диска на компьютере

PS C:\> Get-PSDrive D

Name       Provider      Root
----       --------      ----
D          FileSystem    D:\

Эта команда получает диск D: на компьютере. Обратите внимание, что за буквой диска в команде не следует двоеточие.

Пример 3. Получение всех дисков, поддерживаемых поставщиком файловой системы Windows PowerShell

PS C:\> Get-PSDrive -PSProvider FileSystem

Name       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

Эта команда получает все диски, которые поддерживаются поставщиком FileSystem оболочки 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       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

PS C:\> net use
New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
X:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives()

Name               : C:\
DriveType          : Fixed
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 39831498752
TotalFreeSpace     : 39831498752
TotalSize          : 79900368896
RootDirectory      : C:\
VolumeLabel        :
Name               : D:\
DriveType          : CDRom
DriveFormat        :
IsReady            : False
AvailableFreeSpace :
TotalFreeSpace     :
TotalSize          :
RootDirectory      : D:\
VolumeLabel        :
Name               : X:\
DriveType          : Network
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 36340559872
TotalFreeSpace     : 36340559872
TotalSize          : 36413280256
RootDirectory      : X:\
VolumeLabel        : D_Drive

PS C:\> Get-WmiObject Win32_LogicalDisk

DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 39831252992
Size         : 79900368896
VolumeName   :
DeviceID     : D:
DriveType    : 5
ProviderName :
FreeSpace    :
Size         :
VolumeName   :
DeviceID     : X:
DriveType    : 4
ProviderName : \\server01\public
FreeSpace    : 36340559872
Size         : 36413280256
VolumeName   : D_Drive

PS C:\> Get-WmiObject Win32_NetworkConnection

LocalName                     RemoteName
--------------               ------------
x:                            \\server01\public

В этом примере сравниваются типы дисков файловой системы, которые выводятся на экран командлетом Get-PSDrive, с теми, которые выводятся на экран с помощью других методов. В этом примере показаны различные способы отображения дисков в Windows PowerShell, а также показано, что временные диски, относящиеся к сеансу, созданные с помощью командлета New-PSDrive, доступны только в Windows PowerShell.

Первая команда использует командлет Get-PSDrive для получения дисков файловой системы в сеансе. К ним относятся фиксированные диски (C: и D:), сопоставленный сетевой диск (X:), созданный с помощью параметра Persistnew-PSDrive, и два временных диска Windows PowerShell (Y: и Z:), созданные с помощью New-PSDrive без параметра Persist.

Команда net use, которая отображает подключенные сетевые диски Windows, отображает только диск X. Она не отображает диски Y: и Z:, созданные New-PSDrive. Она показывает, что диск X: также сопоставлен с \\Server01\Public.

Третья команда использует метод GetDrives класса System.IO.DriveInfo Microsoft .NET Framework. Эта команда получает диски файловой системы Windows, включая диск X:, но не временные диски, созданные New-PSDrive.

Четвертая команда использует командлет Get-WmiObject для получения экземпляров класса Win32_LogicalDisk . Она возвращает диски C:, D: и X:, но не временные диски, созданные New-PSDrive.

Последняя команда использует командлет Get-WmiObject для отображения экземпляров класса Win32_NetworkConnection . Как и net use, он возвращает только постоянный диск X:, созданный командой New-PSDrive.

Параметры

-LiteralName

Задает имя диска.

Значение параметра LiteralName используется точно так, как вводится. Никакие символы не интерпретируются как знаки подстановки. Если имя включает escape-символы, заключите их в одинарные кавычки. Это позволит Windows PowerShell не интерпретировать какие-либо символы как символы Escape-последовательности.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Указывает в виде массива строк имя или имя дисков, которые этот командлет получает в операции. Введите имя диска или букву без двоеточия (:).

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Указывает в качестве массива строк поставщик Windows PowerShell. Этот командлет получает только диски, поддерживаемые этим поставщиком. Введите имя поставщика, например FileSystem, Registry или Certificate.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Scope

Указывает область, в котором этот командлет получает диски.

Допустимые значения для этого параметра:

  • Глобальный
  • Local
  • Скрипт
  • число относительно текущего область (от 0 до числа областей, где 0 — это текущее область, а 1 — родительский). По умолчанию используется значение Local. Дополнительные сведения см. в разделе about_Scopes (https://go.microsoft.com/fwlink/?LinkID=113260).
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UseTransaction

Включает команду в активную транзакцию. Этот параметр доступен только при выполнении транзакции. Дополнительные сведения см. в разделе about_Transactions.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

None

Нельзя передать объекты в этот командлет с помощью конвейера.

Выходные данные

PSDriveInfo

Этот командлет возвращает объекты, представляющие диски в сеансе.

Примечания

  • Этот командлет предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в сеансе, используйте командлет Get-PSProvider. Дополнительные сведения см. в разделе about_Providers.
  • Сопоставленные сетевые диски, созданные с помощью параметра Persist командлета New-PSDrive, относятся к учетной записи пользователя. Сопоставленные сетевые диски, создаваемые в сеансах, запущенных с помощью параметра Запуск от имени администратора или с учетными данными другого пользователя, не отображаются в сеансах, запущенных без явных учетных данных или с учетными данными текущего пользователя.