Najczęściej używane przeze mnie polecenia programu Windows PowerShell i ich zalety

Najczęściej używane przeze mnie polecenia programu Windows PowerShell i ich zalety

PowerShell jest powszechnie uznawany za niezbędne narzędzie dla administratorów IT, którzy koncentrują się na skryptach i automatyzacji. Jednak jego rozbudowane możliwości wykraczają daleko poza sektor IT, co czyni go nieocenionym dla każdego, kto zmaga się z nieuporządkowanymi plikami i katalogami. Osobiście wykorzystuję polecenia PowerShell do przeszukiwania przestarzałego kodu, strukturyzowania plików klienta i łagodzenia bałaganu, który narasta po miesiącach dynamicznych, terminowych projektów.

Jako potężna powłoka wiersza poleceń i platforma skryptowa, PowerShell upraszcza wiele zadań. Chociaż wcześniejsze wersje systemu Windows oferowały samodzielną aplikację PowerShell, obecnie użytkownicy preferują Terminal Windows do uruchamiania środowisk powłoki – w tym PowerShell i wiersza poleceń – ze względu na jego wszechstronność i nowoczesny interfejs.

Wszystkie polecenia można wykonać zarówno w dedykowanej aplikacji PowerShell, jak i w terminalu Windows. Aby zacząć z nich korzystać, wystarczy otworzyć kartę PowerShell w terminalu Windows.

1.Uzyskaj pomoc

Polecenie Get help w programie PowerShell

Kiedy po raz pierwszy zapoznałem się z PowerShellem za pomocą samouczków na YouTube, jednym z często polecanych przez użytkowników poleceń było Get-Help. Polecenie to pełni funkcję wprowadzającą, umożliwiając dostęp do szczegółowych informacji o dowolnym poleceniu cmdlet programu PowerShell wraz z jego składnią, parametrami i przykładami użycia.

Aby pobrać szczegółowe informacje na temat polecenia, wpisz:

Get-Help Get-Process

Spowoduje to wyświetlenie streszczenia polecenia, szczegółów składni i parametrów wejściowych. Aby uzyskać więcej informacji, dodaj parametr -Examples :

Get-Help Get-Process -Examples

Co więcej, możesz zapoznać się z oficjalną dokumentacją firmy Microsoft, korzystając z przełącznika -Online :

Get-Help Get-Process -Online

To polecenie przekieruje Cię do witryny internetowej firmy Microsoft, w której znajdziesz kompleksową dokumentację poleceń.

2.Pobierz polecenie

Polecenie Pobierz polecenie w programie PowerShell

Podczas gdy Get-Help koncentruje się na dostarczaniu informacji o poleceniach cmdlet, Get-Command jest niezbędny do lokalizowania i wyświetlania wszystkich dostępnych poleceń. Jeśli znasz funkcję, którą chcesz wykonać, ale nie pamiętasz nazwy polecenia, po prostu użyj Get-Command, aby wyszukać polecenia na podstawie części nazw lub wzorców.

Na przykład, aby znaleźć wszystkie polecenia zawierające słowo process, wpisz:

Get-Command *process*

To polecenie wyświetla wszystkie polecenia zawierające w nazwie słowo „process”.Możesz dodatkowo zawęzić wyszukiwanie według typów poleceń, np.jeśli interesują Cię tylko polecenia cmdlet:

Get-Command -Name Get* -CommandType Cmdlet

Dodatkowo, w przypadku wyszukiwań dotyczących konkretnych modułów, np.tych związanych z sieciami:

Get-Command -Module NetTCPIP

Korzystanie z polecenia Get-Command jest znacznie wydajniejsze niż przeszukiwanie sieci w celu znalezienia nazw poleceń.

3.Połączenie testowe

Polecenie Test-NetConnection w programie PowerShell

Czy często przełączasz się między różnymi narzędziami, takimi jak ping, telnet i traceroute? Polecenie cmdlet Test-NetConnection konsoliduje te funkcje w jedną. To polecenie cmdlet jest kluczowe przy rozwiązywaniu problemów sieciowych, ponieważ pomaga zdiagnozować, czy problem leży po stronie sieci, serwera, czy też innych źródeł.

Aby sprawdzić, czy dana strona internetowa jest dostępna, wykonaj polecenie:

Test-NetConnection makeuseof.com

To polecenie dostarcza wyniki pingowania i podstawowe informacje o łączności. Aby przetestować konkretny port, należy wpisać jego numer do polecenia:

Test-NetConnection server.company.com -Port 443

Aby uzyskać szczegółowe informacje na temat śledzenia ścieżki sieciowej, użyj parametru -TraceRoute :

Test-NetConnection 8.8.8.8 -TraceRoute

To polecenie wysyła pakiety testowe do 8.8.8.8, śledząc jednocześnie przeskoki między komputerem użytkownika a miejscem docelowym, co pomaga w zlokalizowaniu wszelkich problemów z połączeniem.

4.Pobierz-element podrzędny

Polecenie Get-ChildItem programu PowerShell

Polecenie cmdlet Get-ChildItem umożliwia przeglądanie plików i folderów w dowolnym określonym katalogu. Na przykład, aby wyświetlić zawartość folderu Dokumenty, wystarczy wpisać:

Get-ChildItem C:\Users\Username\Documents

Aby zidentyfikować pliki PDF zmodyfikowane w ciągu ostatniego tygodnia, użyj następującego polecenia:

Get-ChildItem C:\Users\YourName\Documents -Filter *.pdf | Where-Object {$_. LastWriteTime -gt (Get-Date).AddDays(-7)}

Parametr -Recurse umożliwia przeszukiwanie wszystkich podfolderów. Aby zlokalizować wszystkie pliki dziennika w folderze „Projekty” i jego podkatalogach:

Get-ChildItem C:\Projects -Recurse -Filter *.log

Jeśli na dysku jest mało miejsca, można zidentyfikować duże pliki przekraczające 1 GB:

Get-ChildItem C:\ -Recurse -File | Where-Object {$_. Length -gt 1GB} | Select-Object FullName, @{Name="SizeGB";Expression={$_. Length/1GB}}

Polecenie cmdlet Get-ChildItem to potężne narzędzie do automatyzacji zadań wsadowych, organizacji plików i audytów.

5.Gdzie-Obiekt

Polecenie Where-Object w programie PowerShell

W poprzednim przykładzie użycie Where-Object uwydatnia jego funkcjonalność w filtrowaniu danych na podstawie określonych kryteriów właściwości – działając podobnie do instrukcji warunkowych w programowaniu. Składnia wewnątrz nawiasów klamrowych pozwala na reprezentację każdego elementu poddawanego ocenie.

Aby zwizualizować wszystkie uruchomione usługi, wprowadź następujące dane:

Get-Service | Where-Object {$_. Status -eq "Running"}

Jeśli interesują Cię procesy zużywające więcej niż 100 MB pamięci, wypróbuj:

Get-Process | Where-Object {$_. WorkingSet -gt 100MB}

Możliwe jest również łączenie wielu warunków. Na przykład, aby zlokalizować duże dokumenty Worda zmodyfikowane w ciągu ostatniego miesiąca:

Get-ChildItem -Filter *.docx | Where-Object {$_. Length -gt 5MB -and $_. LastWriteTime -gt (Get-Date).AddMonths(-1)}

Organizuj złożone warunki w wielu wierszach, aby zwiększyć czytelność skryptu:

Get-ChildItem | Where-Object { $_. Length -gt 1MB -and $_. Extension -eq ".log"}

6.Wybierz obiekt

Polecenie Select-Object w programie PowerShell

Często dane wyjściowe poleceń są bardziej rozbudowane niż to konieczne. Polecenie cmdlet Select-Object pozwala filtrować tylko istotne dane, które następnie można wyeksportować do pliku CSV za pomocą polecenia cmdlet Export-Csv. Na przykład, jeśli chcesz wyświetlić tylko nazwy i statusy usług:

Get-Service | Select-Object Name, Status

Jeśli Twoim celem jest zidentyfikowanie pięciu procesów zużywających najwięcej zasobów procesora, wykonaj:

Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, CPU

Dodatkowo możesz tworzyć właściwości obliczeniowe. Aby wyświetlić rozmiary plików w megabajtach zamiast bajtów:

Get-ChildItem | Select-Object Name, @{Name="SizeMB";Expression={$_. Length/1MB}}

Aby wyodrębnić pojedynczą wartość właściwości, użyj parametru -ExpandProperty :

Get-Process notepad | Select-Object -ExpandProperty Id

To polecenie zwraca wyłącznie identyfikator procesu, co może być szczególnie przydatne przy przekazywaniu danych do dodatkowych poleceń wymagających pojedynczej wartości.

7.Zostań członkiem

Polecenie Get-Member w programie PowerShell

PowerShell działa głównie za pomocą obiektów, a polecenie cmdlet Get-Member ujawnia powiązane z nimi właściwości i metody. Na przykład, pobierając informacje o procesie, można sprawdzić jego rozmiar, datę utworzenia i inne metryki. Użyj poniższego polecenia, aby wyświetlić atrybuty w obiekcie procesu:

Get-Process | Get-Member

Wyświetlone zostaną właściwości takie jak CPU, Id i WorkingSet, a także metody takie jak Kill() i Refresh().Jeśli chcesz wyświetlić tylko właściwości, możesz określić:

Get-Process | Get-Member -MemberType Property

W przypadku operacji związanych z plikami:

Get-ChildItem C:\temp\test.txt | Get-Member

Wyświetla szczegóły takie jak Długość i Czas zapisu (LastWriteTime), a także metody takie jak Delete() i MoveTo().Możesz filtrować pliki według rozmiaru za pomocą Długość lub identyfikować ostatnio modyfikowane pliki na podstawie Czasu zapisu (LastWriteTime).

8.Ustaw schowek i Pobierz schowek

Polecenie Set-Clipboard w programie PowerShell

Jeśli kiedykolwiek napotkasz przytłaczający wynik działania programu PowerShell wymagający skopiowania, ręczne zaznaczenie może być uciążliwe. Jednak polecenia Set-Clipboard i Get-Clipboard znacznie usprawniają ten proces.

Aby skopiować wyniki polecenia do schowka, wprowadź:

Get-Process | Select-Object Name, CPU | Set-Clipboard

Dzięki temu możesz z łatwością wkleić wyniki do programu Excel lub dowolnego edytora tekstu. I odwrotnie, aby pobrać zawartość schowka z powrotem do programu PowerShell, wystarczy uruchomić:

$text = Get-Clipboard

Ta funkcja jest szczególnie przydatna podczas przetwarzania list. Na przykład, możesz skopiować zakres nazw komputerów z Excela i następnie wykonać:

Get-Clipboard | ForEach-Object { Test-NetConnection $_ }

To polecenie testuje łączność z każdą wymienioną nazwą komputera. Płynna integracja między programem PowerShell a innymi aplikacjami znacznie przyspiesza wykonywanie powtarzalnych zadań.

9.Widok siatki zewnętrznej

Polecenie Out-GridView w programie PowerShell

Są momenty, w których interaktywne sortowanie i filtrowanie wyników jest konieczne. Polecenie cmdlet Out-GridView otwiera osobne okno z tabelą z możliwością sortowania i przeszukiwania.

Get-Process | Out-GridView

Ta akcja uruchamia nowe okno z listą bieżących procesów w interfejsie siatki. Kliknij nagłówki kolumn, aby posortować, lub filtruj według słów kluczowych w polu wyszukiwania. Aby wybrać elementy z siatki i przekazać je do innego polecenia, użyj:

Get-Service | Out-GridView -PassThru | Restart-Service

Za pomocą parametru -PassThru możesz zaznaczyć wiele wierszy i wykonać działania, takie jak ponowne uruchomienie tylko wybranych usług.

Do analizy dzienników można również zastosować:

Get-EventLog -LogName Application -Newest 1000 | Out-GridView

Umożliwia to szybkie filtrowanie zdarzeń na podstawie wprowadzanych słów kluczowych, sortowanie według czasu i ujawnianie wzorców w zestawie danych.

10.Pobierz proces

Polecenie Get-Process Explorer programu PowerShell

Polecenie cmdlet Get-Process wyświetla wszystkie aplikacje aktualnie uruchomione na komputerze, dostarczając informacji na temat wykorzystania przez nie pamięci, czasu procesora i identyfikatorów procesów.

Aby wyświetlić listę wszystkich aktualnie aktywnych procesów, wykonaj:

Get-Process

Jeśli szukasz konkretnej aplikacji, np. Google Chrome, po prostu podaj:

Get-Process chrome

Jeśli chcesz zamknąć program, który nie odpowiada, możesz połączyć polecenia w następujący sposób:

Get-Process notepad | Stop-Process

Aby zidentyfikować procesy zużywające znaczne zasoby pamięci, należy wdrożyć:

Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

To polecenie umożliwia szybki przegląd programów zużywających dużo pamięci, gdy wydajność systemu spada.

Źródło i obrazy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *