Powiązanie parametru potoku

Zakończone

Polecenie programu Windows PowerShell może używać tylko jednego z jego parametrów za każdym razem, gdy jest uruchamiany, aby określić obiekt, na którym działa. Podczas potokowania danych z jednego polecenia do innego nie trzeba określać tego parametru. Ułatwia to odczytanie pełnej instrukcji polecenia. Jednak może nie być oczywiste, jak działa polecenie podczas uruchamiania polecenia. Spójrzmy na następujące polecenie:

Get-ADUser -Filter {Name -eq 'Perry Brill'} | Set-ADUser -City Seattle

W tym przykładzie set-ADUser akceptuje dane wejściowe w sposób pośredni, czyli potrzebuje obiektu użytkownika jako danych wejściowych. Jeśli polecenie Set-ADUser jest uruchamiane bezpośrednio, możesz przekazać nazwę użytkownika, aby zidentyfikować użytkownika, ale to polecenie nie robi. Zamiast tego obiekt, który generuje Get-ADUser, jest pobierany z potoku przez Set-ADUser. Polecenie Set-ADUser jest przekazywane dwa parametry, a nie jeden parametr, który można zobaczyć. Program Windows PowerShell w sposób niewidoczny używa innego parametru w procesie nazywanym powiązaniem parametrów potoku.

Po połączeniu dwóch poleceń w potoku powiązanie parametru potoku pobiera dane wyjściowe pierwszego polecenia i decyduje, co z nim zrobić. Proces wybiera jeden z parametrów drugiego polecenia, aby otrzymać te dane wyjściowe. Program Windows PowerShell ma dwie techniki używane do podejmowania tej decyzji. Pierwsza technika, czyli ta, której program Windows PowerShell zawsze próbuje użyć jako pierwsza, nosi nazwę ByValue. Druga technika nosi nazwę ByPropertyName i jest używana tylko wtedy, gdy element ByValue ulegnie awarii.