Сведения о поставщиках
Краткое описание
Описывает, как поставщики PowerShell предоставляют доступ к данным и компонентам, которые в противном случае не были бы легко доступны в командной строке. Данные представлены в единообразном формате, который напоминает диск с файловой системой.
Подробное описание
Поставщики PowerShell — это программы на основе microsoft платформа .NET Framework, которые делают данные в специализированном хранилище данных доступными в PowerShell для просмотра и управления ими.
Данные, предоставляемые поставщиком, отображаются на диске, и вы обращаетесь к данным по пути, как на жестком диске. Для управления данными на диске поставщика можно использовать любой из встроенных командлетов, поддерживаемых поставщиком. Кроме того, можно использовать пользовательские командлеты, разработанные специально для данных.
Поставщики также могут добавлять динамические параметры во встроенные командлеты. Эти параметры доступны только при использовании командлета с данными поставщика.
Встроенные поставщики
PowerShell включает набор встроенных поставщиков, которые можно использовать для доступа к различным типам хранилищ данных.
Поставщик | Накопитель | Хранилище данных |
---|---|---|
Псевдоним | Alias: | Псевдонимы PowerShell |
Сертификат | Cert: | Сертификаты x509 для цифровых подписей |
Среда | Env: | Переменные среды Windows |
FileSystem | (*) | Диски, каталоги и файлы файловой системы |
Функция | Функция: | Функции PowerShell |
Реестр | HKLM:, HKCU: | Реестр Windows |
Переменная | Variable: | Переменные PowerShell |
WSMan | WSMan: | Сведения о конфигурации WS-Management |
(*) Диски FileSystem зависят от каждой системы.
Вы также можете создавать собственные поставщики PowerShell и устанавливать поставщики, которые разрабатывают другие пользователи. Чтобы получить список поставщиков, доступных в сеансе, введите:
Get-PSProvider
Установка и удаление поставщиков
Поставщики PowerShell предоставляются в оснастках PowerShell, которые представляют собой платформа .NET Framework программ, которые компилируются в .dll файлы. Оснастки могут включать поставщиков и командлеты.
Прежде чем использовать функции поставщика, необходимо установить оснастку, а затем добавить ее в сеанс PowerShell. Дополнительные сведения см. в разделе about_PSSnapins.
Невозможно удалить поставщик, хотя вы можете удалить оснастку PowerShell для поставщика из текущего сеанса. В этом случае вы удалите все содержимое оснастки, включая ее командлеты.
Чтобы удалить поставщика из текущего сеанса, используйте Remove-PSSnapin
командлет . Этот командлет не удаляет поставщика, но делает его недоступным в сеансе.
Командлет также можно использовать для 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
. Например, чтобы получить все свойства диска Function: , введите:
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\
Можно также использовать относительные ссылки на расположения. Точка (.) представляет текущее расположение. Например, если вы находитесь в разделе реестра HKLM:\Software\Microsoft и хотите перечислить подразделы реестра в разделе HKLM:\Software\Microsoft\PowerShell, введите следующую команду:
Get-ChildItem .\PowerShell
Домашняя страница поставщика
Поставщики также имеют расположение Home . Это расположение является общим для всех PSDrives
, поддерживаемых поставщиком. Его можно получить, просмотрев свойство Home поставщика.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\robreed
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 is not 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