20 Polecenia Windows PowerShell, które musisz znać
Windows PowerShell to nowa powłoka wiersza polecenia bardziej potężny i skryptowalny niż wiersz polecenia. W moim trzyletnim doświadczeniu w używaniu go uważam, że jest naprawdę przydatny, zwłaszcza jeśli jesteś w to zamieszany automatyzacja lub wykonywanie skryptów. Jednak większość z nas albo nie wie o tym, albo nie woli używać jej zamiast starej powłoki wiersza poleceń.
W tym poście zamierzam się podzielić przydatne, ale proste polecenia (z przykładami) programu Windows PowerShell. Możesz używać tych poleceń do wykonywania wielu zadań - od uzyskania pomocy do uruchomienia procesów. Powinniśmy zaczynać?
Uwaga: Windows PowerShell jest wbudowany Kompatybilność wsteczna mając na uwadze, a tym samym obsługuje wiele poleceń wiersza polecenia. Powiedziawszy to, możesz nadal używać starych poleceń w nowym, kolorowym interfejsie.
Get-Help [pomoc]
Jeśli jesteś nowy w PowerShell, możesz napotkać problemy; iw takich sytuacjach Get-Help staje się twoim wybawcą. To zapewnia niezbędne informacje o poleceniach cmdlet, komendach, funkcje, skrypty i przepływy pracy PowerShell.
Co więcej, jest to łatwe: musisz wpisać Wezwać pomoc
po którym następuje polecenie, którego szukasz. Na przykład możesz uzyskać informacje o “Get-Process” za pomocą Get-Help Get-Process
.
Get-Command [gcm]
Windows PowerShell umożliwia wykrywanie jego poleceń i funkcji za pomocą polecenia Get-Command. Wyświetla listę polecenia konkretnej funkcji lub w określonym celu na podstawie parametru wyszukiwania.
Musisz tylko wpisać Get-Command
a następnie zapytanie wyszukiwania w PowerShell. Na przykład, Get-Command * -service *
wyświetla polecenia za pomocą “-usługa” w jego imieniu. Proszę pamiętać o użyj gwiazdek po obu stronach zapytania ponieważ jest to dzika karta, która pomaga szukać nieznanego.
Invoke-Command [icm]
Kiedy chcesz uruchom komendę lub skrypt PowerShell - lokalnie lub zdalnie na jednym lub wielu komputerach - “Wywołaj polecenie” jest twoim przyjacielem. Jest łatwy w obsłudze i pomaga w sterowaniu partiami komputerów.
Musisz wpisać Wywołaj polecenie
następnie polecenie lub skrypt z pełną ścieżką. Na przykład możesz uruchom polecenie “Get-EventLog” za pomocą Invoke-Command -ScriptBlock Get-EventLog system -Newest 50
lub na komputerze zdalnym “Serwer01” za pomocą Invoke-Command -ScriptBlock Get-EventLog system -Newest 50 -KomputerNazwa Server01
.
Invoke-Expression [iex]
Wywołaj wyrażenie uruchamia inne polecenie lub wyrażenie. Jeśli jako dane wejściowe podajesz wyrażenie lub ciąg znaków, to polecenie najpierw ocenia je, a następnie uruchamia, ale działa również tylko lokalnie, w przeciwieństwie do poprzedniego polecenia.
Musisz wpisać Wywołaj wyrażenie
po którym następuje polecenie lub wyrażenie. Na przykład można przypisać zmienną “$ Polecenie” z łańcuchem informującym o poleceniu “Get-Process”. Kiedy uciekasz Invoke-Expression $ Command
, “Get-Process” zostanie uruchomiony jako polecenie na lokalnym komputerze.
Invoke-WebRequest [iwr]
Możesz pobrać, zalogować się i zeskanować informacje na stronach internetowych i usługach internetowych podczas pracy z Windows PowerShell za pomocą Invoke-WebRequest.
Musisz go używać jak Invoke-WebRequest
a następnie jego parametry. Na przykład można uzyskać łącza na danej stronie internetowej za pomocą polecenia jako (Invoke-WebRequest -Uri „https://docs.microsoft.com”) .Links.Href
.
Set-ExecutionPolicy
Chociaż tworzenie i wykonywanie skryptów (z rozszerzeniem “ps1”) w Windows PowerShell jest możliwe; jednak istnieją ograniczenia ze względów bezpieczeństwa. Ale ty możesz przełącz poziom bezpieczeństwa za pomocą polecenia Set-ExecutionPolicy.
Możesz pisać Set-ExecutionPolicy
po którym następuje jeden z czterech poziomów bezpieczeństwa - Ograniczone, zdalnie podpisane, wszystkie podpisane lub nieograniczone użyć polecenia. Na przykład możesz przypisać ograniczony status polityki za pomocą Set-ExecutionPolicy -ExecutionPolicy Restricted
.
Get-Item [gi]
Jeśli szukasz informacje o przedmiocie w dowolnym miejscu, powiedz plik na dysku twardym, Get-Item jest najlepszym sposobem na uzyskanie go w Windows PowerShell. Musisz to wiedzieć nie pobiera zawartości elementu, takie jak pliki i podkatalogi w danym katalogu, chyba że użytkownik wyraźnie to określi.
Musisz wpisać Zdobądź przedmiot
po którym następuje ścieżka lub ciąg wraz z jego parametrami, jeśli takie istnieją. Na przykład możesz pobrać wszystkie elementy (pliki lub foldery) zaczynające się od “M” w bieżącym katalogu przy użyciu Get-Item M *
. Wraz z zawartością katalogów może również pobierać zawartość kluczy rejestru.
Kopiuj przedmiot [kopia]
Jeśli potrzebujesz kopiować pliki i katalogi na dysku lub wpisach rejestru i kluczach w rejestrze można użyć funkcji Kopiuj element. Działa podobnie do “cp” Polecenie, które mamy w wierszu poleceń, ale jest znacznie lepsze.
Możesz skorzystać Kopiuj przedmiot
polecenie do kopiować i zmieniać nazwy elementów w tym samym poleceniu jak również - podaj nową nazwę jako cel podróży. Na przykład możesz skopiować i zmienić nazwę “Services.htm” do “MyServices.txt” za pomocą Copy-Item "C: Services.htm" -Destination "C: MyData MyServices.txt"
.
Usuń element [del]
Jeśli chcesz aby usunąć elementy takie jak pliki, foldery, funkcje i klucze rejestru oraz zmienne, polecenie Usuń element jest poleceniem dla Ciebie. Interesujące jest to, że zapewnia parametry do włączania i wyłączania elementów.
Możesz skorzystać Usuń przedmiot
polecenie do usuń elementy z określonych lokalizacji za pomocą parametrów. Na przykład możesz usunąć plik “MyServices.txt” za pomocą polecenia Usuń element „C: Dane użytkownika MyServices.txt”
.
Get-Content [cat]
Gdy potrzebujesz wyświetlić zawartość pliku tekstowego w określonej lokalizacji, otwórz go i przeczytaj w edytorze kodu / tekstu, takim jak Notepad ++. W Windows PowerShell możesz użyć Get-Content do pobrać zawartość bez otwierania pliku.
Na przykład możesz pobrać 50 linii zawartości “Services.htm”, wtedy możesz użyć Get-Content „C: Services.htm” -TotalCount 50
.
Set-Content [sc]
Możesz zapisać tekst w plikach za pomocą Set-Content, podobnie jak w “Echo” dowództwo Bash Shell. W połączeniu z Get-Content możesz również pobrać zawartość jednego pliku i skopiować go do innego pliku używając tego polecenia.
Na przykład możesz wpisać Set-Content
do napisz lub zastąp zawartość pliku z nową zawartością. Co więcej, możesz skomentować go z przykładem poprzedniego polecenia, aby zapisać jego wyjście w nowym pliku o nazwie “Sample.txt” za pomocą Get-Content "C: Services.htm" -TotalCount 50 | Set-Content „Sample.txt”
.
Get-Variable [gv]
Jeśli chcesz używać zmiennych w Windows PowerShell, polecenie Get-Variable pomaga wizualizować wartości zmiennych. Pokazuje je w formie tabelarycznej i pozwala na uwzględnianie, wyłączanie i używanie symboli wieloznacznych.
Możesz użyć tego polecenia, wpisując Get-Variable
a następnie jego opcje i parametry. Na przykład można pobrać wartość zmiennej o nazwie “desc” używając następującego kodu: Get-Variable -Name "desc"
.
Ustaw zmienną [ustaw]
Możesz przypisz lub zmień / zresetuj wartość zmiennej za pomocą polecenia Set-Variable. Jako skrót możesz także ustawić prostą zmienną w formacie $ $ VarName = VarValue $, jak $ desc = "Opis"
.
Możesz użyć polecenia Ustaw zmienną
następnie jego parametry, aby ustawić zmienną. Na przykład możemy ustawić wartość zmiennej o nazwie “desc” za pomocą polecenia Set-Variable -Name "desc" -Value "A Description"
.
Get-Process [gps]
Zwykle używamy Menedżera zadań do znajdź uruchomione procesy na naszym komputerze. W Windows PowerShell każdy może użyć Get-Process, aby uzyskać listę aktualnie uruchomionych procesów, które również można dalej przetwarzać.
Możesz napisać polecenie jako Get-Process
wraz z zapytaniem wyszukiwania. Na przykład, jeśli potrzebujesz informacji o procesach za pomocą “badać” w ich imieniu możesz wpisać Get-Process * zbadaj *
(zanotuj gwiazdki).
Start-Process [saps]
Windows PowerShell ułatwia to uruchom jeden lub więcej procesów w Twoim komputerze. Odkryłem, że to polecenie jest przydatne w aplikacjach skryptowych, ponieważ jest to jedno z niezbędnych poleceń, które będą potrzebne do automatyzacji zadania.
Możesz pisać Rozpocznij proces
następnie jego parametry, aby użyć polecenia. Na przykład możesz uruchomić Notatnik, wpisując Start-Process -FilePath „Notatnik” -Bardzo dobry przebieg
w Windows PowerShell.
Stop-Process [zabij]
Możesz zatrzymaj określone lub wszystkie wystąpienia uruchomionego procesu na twoim komputerze używając jego nazwy lub PID (ID procesu), dzięki poleceniu Stop-Process. To, co go przekonuje, to to, że możesz wykryć zatrzymanie procesu, a nawet zatrzymać procesy nie należące do bieżącego użytkownika lub przez niego uruchomione.
Możesz wpisać polecenie Stop-Process
następnie jego parametry, aby zatrzymać dane procesy. Na przykład możesz zatrzymać wszystkie procesy Notatnika za pomocą polecenia Stop-Process -Name „notatnik”
.
Get-Service [gsv]
Kiedy potrzebujesz informacje o konkretnych usługach (uruchomiony lub zatrzymany) na twoim komputerze, możesz użyć Get-Service. Wyświetla usługi zainstalowane w systemie i udostępnia opcje filtrowania i włączania ich oraz wykluczania.
Jeśli chcesz użyć tego polecenia, możesz wpisać Get-Service
a następnie jego parametry. Na przykład wpisz następujące polecenie Get-Service | Where-Object $ _. Status -eq "Running"
uzyskać usługi “bieganie” w twoim systemie.
Start-Service [sasv]
Jeśli sobie życzysz uruchom usługę na komputerze polecenie Start-Service może pomóc zrobić to samo z poziomu Windows PowerShell. Odkryłem, że jest wystarczająco wydajny, aby uruchomić usługę, nawet jeśli ta usługa jest wyłączona na twoim komputerze.
Musisz podać nazwę usługi podczas korzystania z polecenia Uruchomić usługę
. Na przykład, Start-Service -Name „WSearch”
uruchamia usługę “Wyszukiwanie w systemie Windows” na lokalnym komputerze.
Stop-Service [spsv]
Jeśli sobie życzysz zatrzymać uruchomione usługi na komputerze polecenie Stop-Service okaże się pomocne. Musisz podać nazwę usługi wraz z Stop-Service
. Na przykład wpisz Stop-Service -Name „WSearch”
zatrzymać usługę “Wyszukiwanie w systemie Windows” w Twoim komputerze.
ConvertTo-HTML
PowerShell może dostarczyć niesamowitych informacji o systemie. Jest on jednak najczęściej prezentowany w niestrawnym formacie, ale możesz użyć ConvertTo-HTML do utwórz i sformatuj raport przeanalizować to lub wysłać do kogoś.
Możesz użyć ConvertTo-HTML
wraz z wyjściem innego polecenia za pomocą rurociągów. Na przykład Get-Service | ConvertTo-HTML -Property Name, Status> C: Services.htm
wyświetla listę wszystkich usług i ich status w postaci raportu internetowego, który jest przechowywany w pliku “Services.htm”.
Chodzi o najważniejsze polecenia .