about_Function_Provider

Nazwa dostawcy

Function

Dyski

Function:

Możliwości

ShouldProcess

Krótki opis

Zapewnia dostęp do funkcji zdefiniowanych w programie PowerShell.

Szczegółowy opis

Dostawca funkcji programu PowerShell umożliwia pobieranie, dodawanie, zmienianie, czyszczenie i usuwanie funkcji i filtrów w programie PowerShell.

Funkcja jest nazwanym blokiem kodu, który wykonuje akcję. Po wpiseniu nazwy funkcji zostanie uruchomiony kod w funkcji. Filtr jest nazwanym blokiem kodu, który ustanawia warunki dla akcji. Możesz wpisać nazwę filtru zamiast warunku, na przykład w Where-Object poleceniu.

Dysk funkcji to płaska przestrzeń nazw, która zawiera tylko obiekty funkcji i filtru. Ani funkcje, ani filtry nie mają elementów podrzędnych.

Dostawca funkcji obsługuje następujące polecenia cmdlet, które zostały omówione w tym artykule.

Typy uwidocznione przez tego dostawcę

Każda funkcja jest wystąpieniem klasy System.Management.Automation.FunctionInfo . Każdy filtr jest wystąpieniem klasy System.Management.Automation.FilterInfo .

Dostawca funkcji uwidacznia swój magazyn danych na Function: dysku. Aby pracować z funkcjami, możesz zmienić lokalizację na Function: dysk (Set-Location Function:). Możesz też pracować z innego dysku programu PowerShell. Aby odwołać się do funkcji z innej lokalizacji, użyj nazwy dysku (Function:) w ścieżce.

Set-Location Function:

Aby powrócić do dysku systemu plików, wpisz nazwę dysku. Na przykład wpisz:

Set-Location C:

Możesz również pracować z dostawcą funkcji z dowolnego innego dysku programu PowerShell. Aby odwołać się do funkcji z innej lokalizacji, użyj nazwy Function: dysku w ścieżce.

Uwaga

Program PowerShell używa aliasów, aby umożliwić ci znaną pracę ze ścieżkami dostawcy. Polecenia, takie jak dir i ls są teraz aliasami dla polecenia Get-ChildItem, cd są aliasem dla polecenia Set-Location. i pwd jest aliasem get-location.

Pobieranie funkcji

To polecenie pobiera listę wszystkich funkcji w bieżącej sesji. Tego polecenia można użyć z dowolnego dysku programu PowerShell.

Get-ChildItem -Path Function:

Dostawca funkcji nie ma kontenerów, więc powyższe polecenie ma taki sam efekt, gdy jest używany z Get-ChildItem.

Get-ChildItem -Path Function:

Definicję funkcji można pobrać, korzystając z właściwości Definition , jak pokazano poniżej.

(Get-Item -Path function:more).Definition

Definicję funkcji można również pobrać przy użyciu ścieżki dostawcy poprzedzonej znakiem dolara ($).

$function:more

Aby pobrać definicję funkcji z kreską (-) w nazwie, zawijaj wartość po znaku dolara w nawiasach klamrowych.

${function:Clear-Host}

Pobieranie wybranych funkcji

To polecenie pobiera man funkcję z Function: dysku. Używa Get-Item polecenia cmdlet do pobrania funkcji. Operator potoku (|) wysyła wynik do .Format-Table -Wrap Parametr kieruje tekst, który nie pasuje do wiersza w następnym wierszu. Parametr -Autosize zmienia rozmiar kolumn tabeli, aby uwzględnić tekst.

Get-Item -Path man | Format-Table -Wrap -Autosize

Praca ze ścieżkami dostawcy funkcji

Oba te polecenia pobierają funkcję o nazwie c:. Pierwsze polecenie może być używane na dowolnym dysku. Drugie polecenie jest używane na Function: dysku. Ponieważ nazwa kończy się dwukropkiem, czyli składnią dysku, należy zakwalifikować ścieżkę z nazwą dysku. Function: Na dysku można użyć dowolnego formatu. W drugim poleceniu kropka (.) reprezentuje bieżącą lokalizację.

PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:

Tworzenie funkcji

To polecenie używa New-Item polecenia cmdlet do utworzenia funkcji o nazwie Win32:. Wyrażenie w nawiasach klamrowych to blok skryptu reprezentowany przez nazwę funkcji.

New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}

Funkcję można również utworzyć, wpisując ją w wierszu polecenia programu PowerShell. Na przykład tpe Function:Win32: {Set-Location C:\Windows\System32}. Jeśli jesteś na Function: dysku, możesz pominąć nazwę dysku.

Usuwanie funkcji

To polecenie usuwa more: funkcję z bieżącej sesji.

Remove-Item Function:more:

Zmienianie funkcji

To polecenie używa Set-Item polecenia cmdlet do zmiany prompt funkcji, aby wyświetlić czas przed ścieżką.

Set-Item -Path Function:prompt -Value {
  'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
  }

Zmienianie nazwy funkcji

To polecenie używa Rename-Item polecenia cmdlet , aby zmienić nazwę help funkcji na gh.

Rename-Item -Path Function:help -NewName gh

Kopiowanie funkcji

To polecenie kopiuje prompt funkcję do oldPrompt, skutecznie tworząc nową nazwę bloku skryptu skojarzonego z funkcją monitu. Można go użyć do zapisania oryginalnej funkcji monitu, jeśli planujesz ją zmienić. Właściwość Options nowej funkcji ma wartość None. Aby zmienić wartość właściwości Opcje , użyj polecenia Set-Item.

Copy-Item -Path Function:prompt -Destination Function:oldPrompt

Parametry dynamiczne

Parametry dynamiczne to parametry poleceń cmdlet, które są dodawane przez dostawcę programu PowerShell i są dostępne tylko wtedy, gdy polecenie cmdlet jest używane na dysku obsługującym dostawcę.

Opcje <[System.Management.Automation.ScopedItemOptions]>

Określa wartość właściwości Options funkcji.

  • None: Brak opcji. Wartość domyślna to None.
  • Constant: Nie można usunąć funkcji, a jej właściwości nie można zmienić. Constant jest dostępny tylko podczas tworzenia funkcji. Nie można zmienić opcji istniejącej funkcji na Constant.
  • Private: Funkcja jest widoczna tylko w bieżącym zakresie
  • (nie w zakresach podrzędnych).
  • ReadOnly: nie można zmienić właściwości funkcji z wyjątkiem użycia parametru -Force . Możesz użyć Remove-Item polecenia , aby usunąć funkcję.
  • AllScope: Funkcja jest kopiowana do wszystkich nowych utworzonych zakresów.

Obsługiwane polecenia cmdlet

Korzystanie z potoku

Polecenia cmdlet dostawcy akceptują dane wejściowe potoku. Potok umożliwia uproszczenie zadania, wysyłając dane dostawcy z jednego polecenia cmdlet do innego dostawcy. Aby dowiedzieć się więcej na temat używania potoku z poleceniami cmdlet dostawcy, zobacz odwołania do poleceń cmdlet podanych w tym artykule.

Uzyskiwanie pomocy

Począwszy od programu Windows PowerShell 3.0, możesz uzyskać dostosowane tematy pomocy dla poleceń cmdlet dostawcy, które wyjaśniają, jak te polecenia cmdlet zachowują się na dysku systemu plików.

Aby uzyskać tematy pomocy dostosowane dla dysku systemu plików, uruchom polecenie Get-Help na dysku systemu plików lub użyj -Path parametru Get-Help , aby określić dysk systemu plików.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path function:

Zobacz też