Jeśli realizujesz zapisanie setek linii kodów w jednym bloku kodu, to nie jest to właściwa metoda, ponieważ zwykle trudno jest odczytać duży blok kodu. Możesz podzielić go na małe funkcje, aby program był bardziej zrozumiały, zorganizowany i wielokrotnego użytku.
Co to jest funkcja w PowerShell?
W Powershell, a funkcjonować to zbiór kodu z opcjonalnym wejściem i wyjściem. Jest to tworzenie sekwencji instrukcji do wykonywania jednego lub wielu razy poprzez po prostu ją wywołując, zamiast kopiować ją wielokrotnie. Funkcja znacznie poprawia czytelność i użyteczność twojego kodu, co znacznie ułatwia radzenie sobie z powtarzanym kodem.
Wymaga parametrów jako wejścia i zwraca wartości przypisane do niektórych zmiennych, potokowane do innych funkcji, lub CMDLETS jako wejście lub wyświetlane jako wyjście na ekranie. Zamiast powtarzać kod, funkcję można wywołać tyle razy, ile potrzeba po zdefiniowaniu w skrypcie. W PowerShell istnieją dwa rodzaje funkcji: podstawowe i zaawansowane.
Podstawowe funkcje w PowerShell
Najprostsza forma funkcji, którą możemy stworzyć w PowerShell, nazywa się „podstawowy”Funkcja. Funkcje te nie wykorzystują żadnej z wbudowanych funkcji. Zestaw nawiasy klamrowe służy do zdefiniowania ciała funkcji. Podczas pracy z funkcjami PowerShell najłatwiejszą opcją dla administratorów jest użycie podstawowych funkcji, ponieważ funkcje te nie mają żadnych odziedziczonych funkcji. Musisz wyraźnie zdefiniować wszystkie strumienie błędów w kodzie funkcji.
Zaawansowane funkcje w PowerShell
Zaawansowane funkcje mają te same właściwości, co funkcje podstawowe, ale zawierają dodatkowe funkcje, których podstawowe funkcje nie mają. Na przykład PowerShell zawiera strumienie takie jak Verbose, ostrzeżenie, debugowanie, błąd itp. Te strumienie są niezbędne do dokładnego wyświetlania wyjścia.
Tworzenie podstawowych funkcji w PowerShell
Teraz sprawdzimy metodę tworzenia podstawowych funkcji w PowerShell. W tym celu otwórz Windows PowerShell Ise i utwórz nowy plik.
Słowo kluczowe funkcji jest używany do deklarowania funkcji w PowerShell, a następnie Nazwa funkcji I nawiasy klamrowe. Kod lub nadwozie funkcji znajduje się w tych kręconych aparatach ortodontycznych .
Funkcja GET-IVERSIONWykonamy to „Get-Version”Funkcja w czasie wykonywania. Teraz zapisz skrypt jako „testFile1.PS1”I uruchom go.
W terminalu PowerShell wywołaj utworzoną funkcję za pomocą jej nazwy.
> Get-VersionPokaże następujące dane wyjściowe:
Gdy funkcja jest ładowana do pamięci systemowej, możesz wyświetlić funkcje w funkcji PSDRIVE. W tym celu użyj „Get-ChildItem”Polecenie do sprawdzenia elementów dziecięcych funkcji PSDRIVE. Tutaj "-Ścieżka„Opcja jest wykorzystywana do określenia ścieżki funkcji PSDRIVE.
> Get-childitem -path funkcja: \ get-*wersjaZ bieżącej sesji możesz usunąć zdefiniowaną funkcję za pomocą „Usuń przedmiot" Komenda. Wykonaj w tym celu komendę poniżej.
> Get-childitem -path funkcja: \ get-*wersja | Usuń przedmiotUżyj operatora rur [”|„], Aby polecenie wypuściło elementy dziecięce funkcji PSDRIVE do”Usuń przedmiot" Komenda. A później "Usuń przedmiot”CMDLET usunie utworzone funkcje z sesji.
Aby zweryfikować usunięcie funkcji, przywołaj „Get-Version”Funkcja. Pokaże następujące dane wyjściowe:
Parametr funkcji w PowerShell
Teraz napiszemy funkcję, która pyta wszystkie polecenia systemu i zwraca liczbę poleceń z określonymi nazwami parametrów. Jeśli chcesz to zrobić, wykonaj skrypt poniżej podania w swoim PowerShell:
funkcja get-mrparameterCountTeraz wywołaliśmy „Get-MrparameterCount”Z parametrami:
CompUTERNAME, komputer, Servername, host i maszyna:
> Get -MrparameterCount -parameTername Computername, komputer, servername, host, maszynaTworzenie zaawansowanych funkcji w PowerShell
Naprawdę łatwo jest przekształcić podstawową funkcję PowerShell w funkcję zaawansowaną. Funkcje zaawansowane mają kilka wspólnych parametrów, które są automatycznie dodawane do funkcji. Teraz przekształcimy podstawową funkcję zdefiniowaną w poprzedniej sekcji w funkcję zaawansowaną:
Funkcja Test-MrparameterZauważ, że „Test-Mrparameter”Funkcja nie ma wspólnego parametru. Wspólne parametry można przeglądać na różne sposoby. Jedną z metod jest użycie „Get-command”Z„-Składnia„Opcja, aby spojrzeć na składnię:
> Get -command -name test -mrparameter -syntaxAby funkcja była funkcją zaawansowaną, dodaj „CMDLETBINDING”:
Funkcja test-mrcmdletBindingPonownie możesz sprawdzić składnię i parametry tej zaawansowanej funkcji, wykonując poniższe polecenia:
> Get-command -name test-MrcmdletBinding -syntax> (get-command -name test-mrcmdletBinding).Parametry.KluczeWniosek
Możesz podzielić kod na osobne elementy konstrukcyjne, używając Funkcje w PowerShell. Pomagają nie tylko w rozbiciu kodu na mniejsze i łatwiejsze do zarządzania elementy, ale także zmuszają Cię do tworzenia testowalnego i czytelnego kodu.
Funkcje znacznie poprawiają czytelność i użyteczność kodu, co znacznie ułatwia radzenie sobie z wielokrotnym kodem. Ten artykuł pokazuje kilka metod stosowania Funkcje W PowerShell, w tym podstawowe i zaawansowane.