Poznaj lepiej program Windows PowerShell dzięki przydatnym poleceniom.
Większość z Nas woli PowerShell ze względu na jego duże możliwości automatyzacji. Jest to powłoka wiersza poleceń z w pełni rozwiniętym językiem skryptowym. Posiada ogromną ilość wbudowanych poleceń cmdlet, dzięki czemu możemy napisać własny skrypt, by zautomatyzować zadania administracyjne systemu Windows.
Jednak opanowanie funkcjonalności i elastyczności programu PowerShell wymaga wiedzy. Jeśli dopiero zaczynamy pracę z PowerShell, oto podstawowe polecenia, których możemy się nauczyć aby opanować ten język skryptowy.
1. Get-Help
Get-Help, jak sama nazwa wskazuje, jest częścią zintegrowanego systemu pomocy programu PowerShell. Pomaga znaleźć niezbędne informacje o poleceniu, pojęciach i funkcjach, zidentyfikować alias, skrypty i nie tylko.
Aby uzyskać pomoc dotyczącą polecenia cmdlet programu PowerShell, należy użyć polecenia cmdlet Get-help, po którym następuje nazwa polecenia cmdlet. Na przykład, aby wyświetlić streszczenie i składnię polecenia cmdlet get-process, wpisz:
1 |
Get-Help Get-Process |
To polecenie wyświetli nam zarówno pomoc opartą na komentarzach, jak i XML, dostarczoną przez autora funkcji.
Alternatywnie można użyć polecenia Get-Help -online, aby uzyskać pomoc dotyczącą polecenia cmdlet programu PowerShell w trybie online. Na przykład, aby wyświetlić dokumentację online firmy Microsoft dotyczącą polecenia cmdlet Get-Content, wpisujemy:
1 |
Get-Help Get-Content -online |
2. Get-Process
Polecenie Get-Process pomaga pobrać i wyświetlić listę wszystkich aktywnych procesów systemowych wraz z ich identyfikatorami (ID). Można go używać jako skutecznej alternatywy dla Menedżera zadań Windows do przeglądania, zatrzymywania i ponownego uruchamiania procesów systemowych.
Na przykład, jeśli chcesz zatrzymać proces OneDrive, najpierw znajdujemy powiązany z nim identyfikator procesu. W moim przypadku to 9968. A więc wpisujemy:
1 |
Get-Process -ID 9968 | Stop-Process |
3. Start-Process
Używając polecenia Start-Process w programie PowerShell, uruchomimy jeden lub więcej proces na komputerze. Aby użyć polecenia cmdlet, wpisz Start-Process, a następnie nazwę procesu. Na przykład, jeśli chcemy uruchomić Notatnik, wpisujemy:
1 |
Start-Process notepad |
Dodatkowo jedną z opcji parametrów Start-Process, to uruchomienie procesu jako administrator, a więc:
1 |
Start-Process -FilePath "notepad" -Verb runAs |
4. Get-Command
Get-Command wyświetla wszystkie polecenia programu PowerShell zainstalowane na komputerze. Podobnie jak Get-Help, możemy użyć polecenia Get-Command, po którym następuje wyszukiwanie określonych funkcji.
Aby znaleźć funkcje o określonej nazwie i typie można określić ich parametry. Na przykład, aby znaleźć polecenia cmdlet (CommandTypes) zaczynające się na literę A (Nazwa), wpisujemy:
1 |
Get-Command -Name A* -CommandType cmdlet |
5. Get-ChildItem
Ta komenda PowerShell służy do przeszukiwania katalogów. Polecenie Get-ChildItem to przydatne polecenie cmdlet do wyszukiwania folderów i plików oraz szybkiego wyszukiwania opartego na zawartości bez korzystania z Eksploratora plików.
Aby wyświetlić wszystkie foldery w katalogu C:\, wpisujemy:
1 |
Get-ChildItem "C:\" |
Ponadto użyć możemy parametru -Path, aby wyświetlić określony folder, podfoldery i zawartość. Na przykład, aby wyświetlić wszystkie podfoldery i pliki w folderze Programs Files użyj polecenia:
1 |
Get-ChildItem -Path "C:\Program Files" |
Można także użyć parametru -Recurse, aby wyświetlić wszystkie pliki w określonym folderze (dla przykładu użyłem folderu aplikacji 7-zip), oraz parametru -Name, aby wyświetlić nazwy elementów w katalogu.
1 |
Get-ChildItem -Path "C:\Program Files\7-zip" -Recurse | Select FullName |
6. Get-Service
Polecenie cmdlet Get-Service umożliwia przeglądanie stanu komputera i listy usług. Domyślnie polecenie Get-Service zwraca wszystkie (zatrzymane i uruchomione) usługi.
Za pomocą parametrów można określać i wyszukiwać usługi w zależności od ich statusu, nazwy i usług zależnych. Na przykład, aby wyświetlić wszystkie usługi zaczynające się od nazwy Win, wpisujemy:
1 |
Get-Service -Name "Win*" |
7. Copy-Item
Polecenie Copy-Item umożliwia kopiowanie i wklejanie plików i folderów oraz ich zawartości do innego katalogu. Aby skopiować pliki i foldery, wpisz Copy-Item, a następnie source -Path, -Destination parametr i adres docelowy. Na przykład, aby skopiować C:\AMD i jego zawartość do C:\ESD, wpisujemy:
1 |
Copy-Item "C:\AMD" -Destination "C:\ESD" -Recurse |
8. Move-Item
Podobnie, aby przenieść element, używamy polecenia cmdlet Move-Item. Na przykład, aby przenieść folder, pliki, podfoldery i całą jego zawartość do określonego miejsca docelowego, wpisujemy:
1 |
Move-Item -Path "C:\AMD" -Destination "C:\ESD" |
9. Set-ExecutionPolicy
Domyślne zasady wykonywania poleceń i skryptów w programie PowerShell są ustawione na ograniczone. Zapobiega to wykonywaniu złośliwych skryptów w środowisku PowerShell.
Polecenia cmdlet Set-ExecutionPolicy umożliwiają zmianę poziomów zabezpieczeń wykonywania skryptów. Aby poznać aktualne zasady wykonywania, wpisujemy:
1 |
Get-ExecutionPolicy |
Jeśli chcesz wykonać niepodpisany skrypt, w wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień wpisujemy:
1 |
Set-ExecutionPolicy RemoteSigned |
10. Get-Content
Polecenie cmdlet Get-Content umożliwia przeglądanie zawartości elementu bez użycia edytora tekstu. Na przykład, aby pobrać zawartość pliku Test.txt, wpisujemy:
1 |
Get-Content "C:\elpcmaniak\elpcmaniak.txt" |
PowerShell jest znany ze swoich możliwości automatyzacji. Może to pomóc zautomatyzować setki czynności w ramach prac programistycznych, oszczędzając czas i zwiększając produktywność.