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 .
Nawigowanie po dysku funkcji
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 toNone
.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 naConstant
.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: