Получает диски 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:.
См. также