Get-Member to twój prześwietlacz obiektów w PowerShell. Bierze cokolwiek, co przekażesz mu potokiem, i pokazuje listę właściwości oraz metod, jakie ten obiekt udostępnia — czyli co możesz z niego odczytać i co możesz na nim zrobić. W PowerShell wszystko jest obiektem (a nie zwykłym tekstem jak w Bashu), więc gdy nie wiesz, czy istnieje pole .Length, .Name albo metoda .Stop(), zamiast zgadywać po prostu pytasz Get-Member. To pierwsze narzędzie, po które sięgasz przy nauce nowego polecenia.
Składnia i najważniejsze opcje
Podstawowa składnia:
-MemberType— filtruje wynik do konkretnego typu, np.Property,Method,NoteProperty,ScriptProperty,Eventalbo zbiorczeProperties/Methods.-Name— pokazuje tylko składowe o podanej nazwie (przyjmuje też wildcardy, np.Name*).-Static— pokazuje składowe statyczne klasy, a nie instancji obiektu. Łączenie go z-Viewlub-Forcenie ma sensu, bo te są wtedy ignorowane.-Force— dorzuca składowe normalnie ukryte, m.in.PSBasei wewnętrzne właściwości .NET.-View— wybiera zakres:Base,Adapted,ExtendedlubAll. Domyślnie toAdapted, Extended.-InputObject— przekazuje obiekt parametrem zamiast potokiem (uwaga na pułapkę niżej).
Przykłady użycia
Get-Process | Get-Member— wypisuje wszystkie właściwości i metody obiektu procesu, np.CPU,Id,Kill().Get-Service | Get-Member -MemberType Method— pokazuje tylko metody, więc szybko zobaczyszStart(),Stop()i co jeszcze możesz zrobić z usługą.Get-Date | Get-Member -MemberType Method -Name *Add*— zawęża do metod z „Add” w nazwie, np.AddDays,AddHours.[System.IO.File] | Get-Member -Static— wylistuje statyczne metody klasy, np.ReadAllText,Exists, bez tworzenia instancji.Get-ChildItem | Get-Member -Force— odsłania ukryte składowe katalogu, w tymPSBasez surowymi właściwościami .NET.
Częste błędy i pułapki
Najczęstsza wpadka: "jakis tekst" | Get-Member zwraca składowe typu String, a nie tego, co miałeś na myśli. Get-Member analizuje typ obiektu, który dostaje — nie jego „znaczenie”.
Druga pułapka dotyczy kolekcji. Gdy zrobisz $tablica | Get-Member, potok rozpakowuje tablicę i pokazuje typ jej elementów. Jeśli chcesz zbadać samą tablicę, użyj Get-Member -InputObject $tablica — wtedy dostaniesz składowe obiektu Object[], w tym Count i Length.
I jeszcze drobiazg: -Static kasuje działanie -Force oraz -View, więc nie kombinuj ich razem, licząc na sumę efektów.
Powiązane komendy: Get-Command (znajdowanie poleceń), Get-Help (dokumentacja i parametry), Get-TypeData oraz Select-Object (wybór konkretnych właściwości po tym, jak Get-Member podpowie ci ich nazwy).