Typy dostawców

Dostawcy definiują swoje podstawowe funkcje, zmieniając sposób wykonywania akcji przez polecenia cmdlet dostawcy dostarczane przez program PowerShell. Na przykład dostawcy mogą używać domyślnej funkcjonalności polecenia cmdlet lub mogą zmieniać sposób działania tego polecenia cmdlet podczas pobierania elementów Get-Item z magazynu danych. Funkcje dostawcy opisane w tym dokumencie obejmują funkcje zdefiniowane przez metody nadpisywania z określonych klas bazowych i interfejsów dostawcy.

Uwaga

Aby uzyskać informacje o funkcjach dostawcy wstępnie zdefiniowanych przez program PowerShell, zobacz Możliwości dostawcy.

Dostawcy z włączoną obsługą dysków

Dostawcy z włączoną obsługą dysków określają domyślne dyski dostępne dla użytkownika i zezwalają użytkownikowi na dodawanie lub usuwanie dysków. W większości przypadków dostawcy są dostawcami z włączoną obsługą dysków, ponieważ wymagają dysku domyślnego, aby uzyskać dostęp do magazynu danych. Jednak podczas pisania własnego dostawcy możesz zezwolić użytkownikowi na tworzenie i usuwanie dysków.

Aby utworzyć dostawcę z włączoną obsługą dysków, klasa dostawcy musi pochodzić z klasy System.Management.Automation.Provider.DriveCmdletProvider lub innej klasy pochodzącej od tej klasy. Klasa DriveCmdletProvider definiuje następujące metody implementowania dysków domyślnych dostawcy i obsługi New-PSDrive polecenia Remove-PSDrive cmdlet i . W większości przypadków w celu obsługi polecenia cmdlet dostawcy należy zastąpić metodę wywoływaną przez aparat programu PowerShell w celu wywołania polecenia cmdlet, taką jak metoda polecenia cmdlet, i opcjonalnie można zastąpić drugą metodę, taką jak , w celu dodania parametrów dynamicznych do polecenia NewDrive New-PSDrive NewDriveDynamicParameters cmdlet.

  • Metoda InitializeDefaultDrives definiuje dyski domyślne, które są dostępne dla użytkownika za każdym razem, gdy dostawca jest używany.

  • Metody NewDrive i NewDriveDynamicParameters definiują sposób, w jaki dostawca obsługuje New-PSDrive polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi tworzenie dysków w celu uzyskania dostępu do magazynu danych.

  • Metoda RemoveDrive definiuje sposób, w jaki dostawca obsługuje Remove-PSDrive polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi usuwanie dysków z magazynu danych.

Dostawcy z włączoną obsługą elementów

Dostawcy z włączoną obsługą elementów umożliwiają użytkownikowi uzyskiwanie, ustawianie lub wyczyszczenie elementów w magazynie danych. "Element" to element magazynu danych, do których użytkownik może niezależnie uzyskać dostęp lub zarządzać nimi. Aby utworzyć dostawcę z obsługą elementów, klasa dostawcy musi pochodzić z klasy System.Management.Automation.Provider.ItemCmdletProvider lub innej klasy pochodzącej od tej klasy.

Klasa ItemCmdletProvider definiuje następujące metody implementowania określonych polecenia cmdlet dostawcy. W większości przypadków w celu obsługi polecenia cmdlet dostawcy należy zastąpić metodę wywoływaną przez aparat programu PowerShell w celu wywołania polecenia cmdlet, taką jak metoda polecenia cmdlet, i opcjonalnie można zastąpić drugą metodę, taką jak , w celu dodania parametrów dynamicznych do polecenia ClearItem Clear-Item ClearItemDynamicParameters cmdlet.

  • Metody ClearItem i ClearItemDynamicParameters definiują sposób, w jaki dostawca obsługuje Clear-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi usunięcie wartości elementu w magazynie danych.

  • Metody GetItem i GetItemDynamicParameters definiują sposób, w jaki dostawca obsługuje Get-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi pobieranie danych z magazynu danych.

  • Metody SetItem i SetItemDynamicParameters definiują sposób, w jaki dostawca obsługuje Set-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi aktualizowanie wartości elementów w magazynie danych.

  • Metody InvokeDefaultAction i InvokeDefaultActionDynamicParameters definiują sposób, w jaki dostawca obsługuje Invoke-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi wykonanie domyślnej akcji określonej przez element.

  • Metody ItemExists i ItemExistsDynamicParameters definiują sposób, w jaki dostawca obsługuje Test-Path polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi ustalenie, czy istnieją wszystkie elementy ścieżki.

Oprócz metod używanych do implementowania polecenia cmdlet dostawcy klasa ItemCmdletProvider definiuje również następujące metody:

  • Metoda ExpandPath umożliwia użytkownikowi używanie symboli wieloznacznych podczas określania ścieżki dostawcy.

  • IsValidPath służy do określania, czy ścieżka jest prawidłowa syntaktycznie i semantycznie dla dostawcy.

Dostawcy z obsługą kontenerów

Dostawcy z włączoną obsługą kontenerów umożliwiają użytkownikowi zarządzanie elementami, które są kontenerami. Kontener to grupa elementów nadrzędnych w ramach wspólnego elementu nadrzędnego. Aby utworzyć dostawcę z obsługą kontenera, klasa dostawcy musi pochodzić z klasy System.Management.Automation.Provider.ContainerCmdletProvider lub innej klasy pochodzącej od tej klasy.

Ważne

Dostawcy z włączoną obsługą kontenerów nie mogą uzyskać dostępu do magazynów danych, które zawierają zagnieżdżone kontenery. Jeśli element podrzędny kontenera jest innym kontenerem, należy zaimplementować dostawcę z włączoną nawigacją.

Klasa ContainerCmdletProvider definiuje następujące metody implementowania określonych cmdlet dostawcy. W większości przypadków w celu obsługi polecenia cmdlet dostawcy należy zastąpić metodę wywoływaną przez aparat programu PowerShell w celu wywołania polecenia cmdlet, taką jak metoda polecenia cmdlet, i opcjonalnie można zastąpić drugą metodę, taką jak , w celu dodania parametrów dynamicznych do polecenia CopyItem Copy-Item CopyItemDynamicParameters cmdlet.

  • Metody CopyItem i CopyItemDynamicParameters definiują sposób, w jaki dostawca obsługuje Copy-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi kopiowanie elementu z jednej lokalizacji do innej.

  • Metody GetChildItems i GetChildItemsDynamicParameters definiują sposób, w jaki dostawca obsługuje Get-ChildItem polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi pobieranie elementów podrzędnych elementu nadrzędnego.

  • Metody GetChildNames i GetChildNamesDynamicParameters definiują sposób, w jaki dostawca obsługuje polecenie cmdlet dostawcy, jeśli określono Get-ChildItem jego Name parametr.

  • Metody NewItem i NewItemDynamicParameters definiują sposób, w jaki dostawca obsługuje New-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi tworzenie nowych elementów w magazynie danych.

  • Metody RemoveItem i RemoveItemDynamicParameters definiują sposób, w jaki dostawca obsługuje Remove-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi usuwanie elementów z magazynu danych.

  • Metody RenameItem i RenameItemDynamicParameters definiują sposób, w jaki dostawca obsługuje Rename-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi zmianę nazw elementów w magazynie danych.

Oprócz metod używanych do implementowania polecenia cmdlet dostawcy klasa ContainerCmdletProvider definiuje również następujące metody:

  • Metoda HasChildItems może być używana przez klasę dostawcy do określenia, czy element ma elementy podrzędne.

  • Metoda ConvertPath może być używana przez klasę dostawcy do tworzenia nowej ścieżki specyficznej dla dostawcy z określonej ścieżki.

Dostawcy z włączoną nawigacją umożliwiają użytkownikowi przenoszenie elementów w magazynie danych. Aby utworzyć dostawcę z włączoną nawigacją, klasa dostawcy musi pochodzić z klasy System.Management.Automation.Provider.NavigationCmdletProvider.

Klasa NavigationCmdletProvider definiuje następujące metody implementowania określonych dostawców cmdlet. W większości przypadków w celu obsługi polecenia cmdlet dostawcy należy zastąpić metodę wywoływaną przez aparat programu PowerShell w celu wywołania polecenia cmdlet, taką jak metoda polecenia cmdlet, i opcjonalnie można zastąpić drugą metodę, taką jak , w celu dodania parametrów dynamicznych do polecenia MoveItem Move-Item MoveItemDynamicParameters cmdlet.

  • Metody MoveItem i MoveItemDynamicParameters definiują sposób, w jaki dostawca obsługuje Move-Item polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi przeniesienie elementu z jednej lokalizacji w magazynie do innej lokalizacji.

  • Metoda MakePath definiuje sposób, w jaki dostawca obsługuje Join-Path polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi połączenie segmentu ścieżki nadrzędnej i podrzędnej w celu utworzenia ścieżki wewnętrznej dostawcy.

Oprócz metod używanych do implementowania polecenia cmdlet dostawcy klasa NavigationCmdletProvider definiuje również następujące metody:

  • Metoda GetChildName wyodrębnia nazwę węzła podrzędnego ścieżki.

  • Metoda GetParentPath wyodrębnia nadrzędną część ścieżki.

  • Metoda IsItemContainer określa, czy element jest elementem kontenera. W tym kontekście kontener jest grupą elementów nadrzędnych w ramach wspólnego elementu nadrzędnego.

  • Metoda NormalizeRelativePath zwraca ścieżkę do elementu, który jest względny dla określonej ścieżki podstawowej.

Dostawcy z włączoną zawartością

Dostawcy z włączoną zawartością umożliwiają użytkownikowi wyczyszczenie, pobrać lub ustawić zawartość elementów w magazynie danych. Na przykład dostawca fileSystem umożliwia wyczyszczenie, pobrać i ustawić zawartość plików w systemie plików. Aby utworzyć dostawcę z włączoną zawartością, klasa dostawcy musi implementować metody interfejsu System.Management.Automation.Provider.IContentCmdletProvider.

Interfejs IContentCmdletProvider definiuje następujące metody implementowania określonych polecenia cmdlet dostawcy. W większości przypadków w celu obsługi polecenia cmdlet dostawcy należy zastąpić metodę wywoływaną przez aparat programu PowerShell w celu wywołania polecenia cmdlet, taką jak metoda polecenia cmdlet, i opcjonalnie można zastąpić drugą metodę, taką jak , w celu dodania parametrów dynamicznych do polecenia ClearContent Clear-Content ClearContentDynamicParameters cmdlet.

Dostawcy z włączoną właściwością

Dostawcy z włączoną właściwością umożliwiają użytkownikowi zarządzanie właściwościami elementów w magazynie danych. Aby utworzyć dostawcę z włączoną właściwością, klasa dostawcy musi implementować metody interfejsów System.Management.Automation.Provider.IPropertyCmdletProvider i System.Management.Automation.Provider.IDynamicPropertyCmdletProvider. W większości przypadków w celu obsługi polecenia cmdlet dostawcy należy zastąpić metodę wywoływaną przez aparat programu PowerShell w celu wywołania polecenia cmdlet , taką jak metoda polecenia cmdlet programu Clear-Property, i opcjonalnie można zastąpić drugą metodę, taką jak , w celu dodania parametrów dynamicznych do polecenia ClearProperty ClearPropertyDynamicParameters cmdlet.

Interfejs IPropertyCmdletProvider definiuje następujące metody implementowania określonych cmdlet dostawcy:

  • Metody ClearProperty i ClearPropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje Clear-ItemProperty polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi usunięcie wartości właściwości.

  • Metody GetProperty i GetPropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje Get-ItemProperty polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi pobranie właściwości elementu.

  • Metody SetProperty i SetPropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje Set-ItemProperty polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi aktualizowanie właściwości elementu.

Interfejs IDynamicPropertyCmdletProvider definiuje następujące metody implementowania określonych cmdlet dostawcy:

  • Metody CopyProperty i CopyPropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje Copy-ItemProperty polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi kopiowanie właściwości i jej wartości z jednej lokalizacji do innej.

  • Metody MoveProperty i MovePropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje Move-ItemProperty polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi przeniesienie właściwości i jej wartości z jednej lokalizacji do innej.

  • Metody NewProperty i NewPropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje New-ItemProperty polecenie cmdlet dostawcy. To polecenie cmdlet umożliwia użytkownikowi utworzenie nowej właściwości i ustawienie jej wartości.

  • Metody RemoveProperty i RemovePropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje Remove-ItemProperty polecenie cmdlet. To polecenie cmdlet umożliwia użytkownikowi usunięcie właściwości i jej wartości.

  • Metody RenameProperty i RenamePropertyDynamicParameters definiują sposób, w jaki dostawca obsługuje Rename-ItemProperty polecenie cmdlet. To polecenie cmdlet umożliwia użytkownikowi zmianę nazwy właściwości.

Zobacz też

about_Providers

Pisanie dostawcy programu Windows PowerShell