Główna » jak » 5 Cmdlets, aby rozpocząć pracę z PowerShell

    5 Cmdlets, aby rozpocząć pracę z PowerShell

    PowerShell szybko staje się preferowanym językiem skryptowym i interfejsem CLI zaawansowanych użytkowników, jak również specjalistów IT. Warto zapoznać się z kilkoma poleceniami, aby zacząć, więc mamy 5 przydatnych cmdletów do nauki.

    Get-Command

    Get-Command jest jednym z najbardziej przydatnych cmdletów w całym PowerShellu, ponieważ pomoże ci opanować PowerShell, umożliwiając wyszukiwanie określonych cmdletów. Samo używanie Get-Command jest niezbyt użyteczne, ponieważ wypluwa każde polecenie PowerShell.

    Ale z tego widać, że obiekty te, że wyjścia PowerShell mają zarówno właściwość Name, jak i ModuleName. Korzystając z tych informacji, możemy dokładnie przeanalizować nasze poszukiwania, wyszukując cmdlety zawierające określone terminy. Na przykład, jeśli chciałbym znaleźć wszystkie polecenia cmdlet zawierające słowo "IP", mógłbym to zrobić:

    Pobierz polecenie -Nazwa * IP *

    Jak widać nadal otrzymujemy sporo wyników, naszą następną opcją jest przeszukiwanie w ramach określonego modułu. W naszym przypadku wybiorę moduł NetTCPIP.

    Pobierz-Polecenie -Moduł NetTCPIP -Nazwa * IP *

    Wezwać pomoc

    Po znalezieniu polecenia cmdlet, którego szukasz za pomocą polecenia Get-Command, będziesz chciał poznać składnię i sposób korzystania z tego konkretnego polecenia cmdlet. Tutaj pojawia się Get-Help, jeśli kiedykolwiek używałeś wiersza poleceń w Windowsie, prawdopodobnie zrobiłeś coś takiego:

    ipconfig /?

    Cóż, to nie działa w PowerShellu, ponieważ w PowerShellu zastosowano spację do oddzielenia polecenia od jego parametrów. Zamiast tego używamy Get-Help i przekazujemy nazwę cmdlet do Get-Help jako parametru.

    Get-Help Get-Process

    Get-Member

    Get-Member pozwala nam uzyskać informacje o obiektach zwracanych przez cmdlety. Połów z get-member polega na tym, że opiera się na funkcji potoku PowerShell, aby to zademonstrować, będziemy mogli użyć polecenia cmdlet Get-Process.

    Jak widać, wyniki PowerShell pokazują nam niektóre właściwości, które można zobaczyć na górze każdej kolumny. Pierwszy problem polega na tym, że chociaż są to właściwości, których możesz szukać przez większość czasu, jest ich jeszcze więcej. Drugi problem polega na tym, że nie pokazuje żadnych metod, które możemy wywołać na obiekcie. Aby zobaczyć metody i właściwości, możemy wyprowadzić nasze wyniki do Get-Member, na przykład:

    Get-Process | Get-Member

    Chociaż może to teraz nic nie oznaczać, prędzej czy później będziesz potrzebował używać Get-Member, a im szybciej nauczysz się go używać, tym lepiej. Jako przykład, używając informacji z wyjścia, możemy zrobić coś takiego:

    Start-Process notepad.exe
    NotepadProc = Get-Process -Name Notatnik
    $ NotepadProc.WaitForExit ()
    Uruchom proces calc.exe

    Ten skrypt uruchomi notatnik, a następnie przydzieli wyjściowy "Notatnik procesu Get-Process-Notation" do zmiennej $ NotepadProc, następnie wywołujemy metodę WaitForExit na NotepadProc $, co powoduje zatrzymanie skryptu do momentu zamknięcia notatnika po zamknięciu notatnika następnie uruchomi się kalkulator.

    $ _ (Bieżący obiekt Pipeline)

    Chociaż nie jest to dokładnie cmdlet, jest to jedna z najczęściej używanych zmiennych specjalnych w PowerShell. Oficjalna nazwa dla $ _ jest "bieżącym obiektem rurociągu". Używa się go w blokach skryptów, filtrach, klauzuli procesu funkcji, obiekt-obiekt, foreach-obiekt i przełączniki. Jednak łatwiej jest wyjaśnić na przykładzie, który prowadzi nas do naszego następnego i ostatniego polecenia cmdlet, Where-Object.

    Gdzie-obiekt

    Gdzie-obiekt robi dokładnie to, co brzmi, wybiera obiekt na podstawie tego, czy spełnia określone kryteria. Spowoduje to połączenie $ _ i właściwości, które możemy zobaczyć za pomocą Get-Member. Aby to zademonstrować, poprowadzimy wyjście Get-Process do cmdletu Where-Object.

    Get-Process | Where-Object $ _. Name -eq "iexplore"

    Więc o co tutaj chodzi? Cóż, pierwszą rzeczą, którą robimy, jest uzyskanie listy procesów na naszym komputerze i przekazanie danych wyjściowych (przy użyciu znaku |) do naszego polecenia cmdlet Where-Object, które przyjmuje jako parametr blok skryptu. Blok skryptu (zdefiniowany przez nawiasy klamrowe) instruuje polecenia cmdlet Where-Object, aby wybierały tylko obiekty, których parametr nazwy jest równy "iexplore", a więc otrzymujemy tylko listę instancji IE, które są uruchomione. To wszystko, co do niego należy, baw się dobrze!