Udostępnij za pośrednictwem


about_Function_Provider

Nazwa dostawcy

Funkcja

Napędy

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ę. Podczas wpisywania nazwy funkcji jest uruchamiany 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 poleceniu Where-Object .

Dysk funkcji jest płaską przestrzenią nazw, która zawiera tylko funkcje i filtru obiektów. 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 poziomu 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ć znajomą pracę ze ścieżkami dostawcy. Polecenia takie jak dir i ls są teraz aliasami dla polecenia Get-ChildItem, cd są aliasem 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

Możesz również pobrać definicję funkcji przy użyciu ścieżki dostawcy poprzedzonej znakiem dolara ($).

$function:more

Pobieranie wybranych funkcji

To polecenie pobiera man funkcję z Function: dysku. Get-Item Używa polecenia cmdlet do pobrania funkcji. Operator potoku (|) wysyła wynik do .Format-Table Parametr -Wrap 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}

Możesz również utworzyć funkcję, 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świetlać 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 Options , użyj polecenia Set-Item.

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

Parametry dynamiczne

Parametry dynamiczne to parametry polecenia 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 i jej właściwości nie można zmienić. Constant funkcja jest dostępna tylko w przypadku 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 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 pozwala uprościć zadanie, 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 dokumentację poleceń cmdlet podanych w tym artykule.

Uzyskiwanie pomocy

Począwszy od Windows PowerShell 3.0, można 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ż

about_Functions

about_Providers