about_Providers
Краткое описание
Описывает, как поставщики PowerShell предоставляют доступ к данным и компонентам, которые в противном случае не будут легко доступны в командной строке. Данные представлены в единообразном формате, который напоминает диск с файловой системой.
Подробное описание
Поставщики PowerShell — это программы .NET, обеспечивающие доступ к специализированным хранилищам данных для упрощения просмотра и управления. Данные отображаются на диске, и вы обращаетесь к данным в пути, как на жестком диске. Вы можете использовать любой из встроенных командлетов, поддерживаемых поставщиком для управления данными на диске поставщика. Кроме того, можно использовать пользовательские командлеты, предназначенные специально для данных.
Поставщики также могут добавлять динамические параметры в встроенные командлеты. Эти параметры доступны только при использовании командлета с данными поставщика.
Встроенные поставщики
PowerShell включает набор встроенных поставщиков, которые предоставляют доступ к различным типам объектов.
- Поставщик псевдонимов
- Гнать-
Alias:
- Типы объектов — System.Management.Automation.AliasInfo
- Гнать-
- Поставщик сертификатов
- Гнать-
Cert:
- Типы объектов — Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Гнать-
- Поставщик среды
- Гнать-
Env:
- Типы объектов — System.Collections.DictionaryEntry
- Гнать-
- Поставщик FileSystem
- Диск —
C:
и другое в зависимости от оборудования - Типы объектов — System.IO.FileInfo, System.IO.DirectoryInfo
- Диск —
- Поставщик функций
- Гнать-
Function:
- Типы объектов — System.Management.Automation.FunctionInfo
- Гнать-
- Поставщик реестра
- Диск —
HKLM:
,HKCU:
- Типы объектов — Microsoft.Win32.RegistryKey
- Диск —
- Поставщик переменных
- Гнать-
Variable:
- Типы объектов — System.Management.Automation.PSVariable
- Гнать-
- Поставщик WSMan
- Гнать-
WSMan:
- Типы объектов — Microsoft.WSMan.Management.WSManConfigContainerElement
- Гнать-
Вы также можете создать собственные поставщики PowerShell и установить поставщиков, которые разрабатывают другие. Чтобы вывести список поставщиков, доступных в сеансе, введите следующее:
Get-PSProvider
Примечание.
Поставщики сертификатов, реестра и WSMan доступны только на платформе Windows.
Установка и удаление поставщиков
Поставщики обычно устанавливаются с помощью модулей PowerShell. Импорт модуля загружает поставщика в сеанс. Вы не можете удалить встроенные поставщики. Вы можете удалить поставщиков, загруженных другими модулями.
Вы можете выгрузить поставщика из текущего сеанса с помощью командлета Remove-Module
. Этот командлет не удаляет поставщика, но делает поставщик недоступным в сеансе.
Можно также использовать Remove-PSDrive
командлет для удаления любого диска из текущего сеанса. Эти данные на диске не затрагиваются, но диск больше недоступен в этом сеансе.
Просмотр поставщиков
Чтобы просмотреть поставщиков PowerShell на компьютере, введите следующее:
Get-PSProvider
В выходных данных перечислены встроенные поставщики и поставщики, добавленные в сеанс.
Командлеты поставщика
Следующие командлеты предназначены для работы с данными, предоставляемыми любым поставщиком. Одни и те же командлеты можно использовать таким же образом, чтобы управлять различными типами данных, предоставляемыми поставщиками. После обучения по управлению данными одного поставщика можно использовать те же процедуры с данными от любого поставщика.
Например, New-Item
командлет создает новый элемент. C:
На диске, поддерживаемом поставщиком FileSystem, можно создать New-Item
новый файл или папку. На дисках, поддерживаемых поставщиком реестра , можно использовать New-Item
для создания нового раздела реестра. Alias:
На диске можно создать New-Item
новый псевдоним.
Подробные сведения о любом из следующих командлетов введите:
Get-Help <cmdlet-name> -Detailed
Командлеты ChildItem
Командлеты содержимого
Командлеты элементов
Командлеты ItemProperty
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-ItemProperty
Командлеты расположения
Командлеты пути
Командлеты PSDrive
Командлеты PSProvider
Просмотр данных поставщика
Основное преимущество поставщика заключается в том, что он предоставляет свои данные знакомым и согласованным образом. Модель представления данных — это диск файловой системы.
Поставщик позволяет просматривать, перемещать и изменять элементы в хранилище данных, как будто они были данными в файловой системе. Доступ к хранилищу данных осуществляется по имени диска, который он поддерживает.
Диск указан в отображении командлета Get-PSProvider
по умолчанию, но вы можете получить сведения о диске поставщика с помощью командлета Get-PSDrive
. Например, чтобы получить все свойства функции: диск, введите:
Get-PSDrive Function | Format-List *
Вы можете просматривать и перемещать данные на диске поставщика так же, как и на диске файловой системы.
Чтобы просмотреть содержимое диска поставщика, используйте Get-Item
командлеты.Get-ChildItem
Введите имя диска, за которым следует двоеточие (:
). Например, чтобы просмотреть содержимое диска, введите следующее Alias:
:
Get-Item alias:
Данные можно просматривать и управлять ими на любом диске с другого диска, включив имя диска в путь. Например, чтобы просмотреть HKLM\Software
раздел реестра на диске с другого диска, введите следующее HKLM:
:
Get-ChildItem HKLM:\SOFTWARE\
Чтобы открыть диск, используйте Set-Location
командлет. Помните двоеточие при указании пути к диску. Например, чтобы изменить расположение на корневой каталог Cert:
диска, введите следующее:
Set-Location cert:
Затем, чтобы просмотреть содержимое диска, введите следующее Cert:
:
Get-ChildItem
Перемещение по иерархическим данным
Диск поставщика можно перемещать так же, как и жесткий диск. Если данные упорядочивается в иерархии элементов в элементах, используйте обратную косую черту (\
) для указания дочернего элемента. Используйте следующий формат:
drive:\location\child-location\...
Например, чтобы изменить расположение на HKLM\Software
раздел реестра, введите Set-Location
команду, например:
Set-Location HKLM:\SOFTWARE\
Если любой элемент в полном имени содержит пробелы, необходимо заключить имя в двойные кавычки ("
). В следующем примере показан полный путь, содержащий пробелы.
"C:\Program Files\Internet Explorer\iexplore.exe"
Можно также использовать относительные ссылки на расположения. Точка (.
) представляет текущее расположение. Например, если вы находитесь в HKLM:\Software\Microsoft
разделе реестра и хотите перечислить вложенные разделы реестра в разделе, введите HKLM:\Software\Microsoft\PowerShell
следующую команду:
Get-ChildItem .\PowerShell
Кроме того, двойные точки (..
) ссылаются на каталог или контейнер непосредственно над текущим расположением. Для перехода по иерархии поставщиков можно использовать двойные точки (..
).
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>
Главная страница поставщика
У поставщиков также есть домашнее расположение. Это расположение предоставляется всем PSDrives
, поддерживаемым поставщиком. Его можно получить, просмотрев свойство Home поставщика.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\username
Function
Variable
Certificate
Поставщик FileSystem является единственным поставщиком, который имеет значение по умолчанию для Home. Это то же значение, что $HOME
и . Дополнительные сведения см. в статье about_Automatic_Variables.
Для текущего сеанса можно задать каталог Home для поставщика, используя его свойство.
(Get-PSProvider FileSystem).Home = "C:\"
Символ ~
можно использовать для представления домашнего каталога поставщика. Если у поставщика нет набора расположения "Главная ", появится сообщение об ошибке.
Cert:\> Set-Location ~
Set-Location : Home location for this provider isn't set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Set-Location],
PSInvalidOperationException
...
Поиск динамических параметров
Динамические параметры — это параметры командлета, добавляемые в командлет поставщиком. Эти параметры доступны только в том случае, если командлет используется с поставщиком, который их добавил.
Например, Cert:
диск добавляет параметр CodeSigningCert в Get-Item
командлеты и Get-ChildItem
командлеты. Этот параметр можно использовать только при использовании Get-Item
или Get-ChildItem
на Cert:
диске.
Список динамических параметров, поддерживаемых поставщиком, см. в файле справки для поставщика. Тип:
Get-Help <provider-name>
Например:
Get-Help certificate
Изучение поставщиков
Хотя все данные поставщика отображаются на дисках, и вы используете те же методы для перемещения по ним, сходство останавливается там. Хранилища данных, предоставляемые поставщиком, могут быть столь же разнообразными, как расположения Active Directory и почтовые ящики Microsoft Exchange Server.
Сведения об отдельных поставщиках PowerShell введите:
Get-Help <ProviderName>
Например:
Get-Help registry
Список разделов справки о поставщиках введите:
Get-Help * -Category Provider
См. также
PowerShell