Получает диски Windows PowerShell, используемые в текущем сеансе.

Синтаксис

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

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

Описание

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

Командлет Get-PSDrive получает следующие диски:

-- логические диски Windows, включая диски, подключенные к общим сетевым ресурсам;

-- диски, предоставляемые поставщиками Windows PowerShell (например, диски Certificate:, Function: и Alias:), а также диски HKLM: и HKCU:, предоставляемые поставщиком Windows PowerShell Registry;

-- диски, созданные с помощью командлета New-PSDrive.

Командлет Get-PSDrive не возвращает сопоставленные диски Windows, которые были добавлены или созданы после открытия консоли Windows PowerShell.

Параметры

-LiteralName <string[]>

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

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

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Name <string[]>

Получает только указанные диски. Введите имя или букву диска без двоеточия (:).

Обязательно?

false

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-PSProvider <string[]>

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Scope <string>

Получает только диски Windows PowerShell, определенные в указанной области. Допустимые значения: "Global", "Local", "Script" или номер относительно текущей области (от 0 до количества областей, где 0 — текущая область, а 1 — ее родительская область). По умолчанию используется значение "Local". Дополнительные сведения см. в разделе about_Scopes.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-UseTransaction

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

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

Нет

Объекты невозможно передать командлету Get-PSDrive по конвейеру.

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

System.Management.Automation.PSDriveInfo

Командлет Get-PSDrive возвращает объекты, представляющие диски Windows PowerShell в этом сеансе.

Примечания

Командлет Get-PSDrive предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду "Get-PSProvider". Дополнительные сведения см. в разделе About_Providers.

Пример 1

C:\PS>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
X          FileSystem    X:\

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

Выходными данными являются жесткий диск (C:) и дисковод компакт-дисков (D:) на компьютере, диски, предоставляемые поставщиками Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM: и Variable:), и диск, отображающий общие сетевые ресурсы (X:).






Пример 2

C:\PS>get-psdrive d

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

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






Пример 3

C:\PS>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

Описание
-----------
Эта команда отображает все диски, поддерживаемые поставщиком Windows PowerShell FileSystem. К ним относятся жесткие диски, логические разделы, подключенные сетевые диски, а также диски созданные с помощью командлета New-PSDrive и подключенные к дискам файловой системы.

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






Пример 4

C:\PS>if (!(get-psdrive X)) { 
    new-psdrive -name X -psprovider Registry -root HKLM:\Network 
}
else { write-host "The X: drive is already in use." }

Описание
-----------
Эта команда проверяет, существует ли диск Windows PowerShellс именем "X". Если нет, с помощью командлета New-PSDrive создается диск Windows PowerShell, который подключается к разделу реестра "HKLM:\Network".






Пример 5

C:\PS>get-psdrive -provider filesystem

C:\PS> get-psdrive -provider filesystem

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

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

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


C:\PS> [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


C:\PS> 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


C:\PS> get-wmiobject win32_networkconnection
LocalName                     RemoteName                    
--------------               ------------
x:                            \\server01\public

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

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

Команда "net use", показывающая подключенные сетевые диски Windows, отображает только диск X:. Она не отображает диски, созданные с помощью командлета 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:.






См. также




Содержание