Windows PowerShell to nowa powłoka wiersza poleceń, która jest bardziej wydajna i skryptowalna niż Wiersz polecenia. W moim trzyletnim doświadczeniu w używaniu go, uznałem go za bardzo przydatny, zwłaszcza jeśli lubisz automatyzować lub skryptować zadania. Jednak większość z nas albo o tym nie wie, albo nie woli używać go w miejsce starej powłoki wiersza poleceń.

w tym poście podzielę się przydatnymi, ale prostymi poleceniami (z przykładami) Windows PowerShell., Możesz użyć tych poleceń do wykonania wielu zadań — od uzyskania pomocy po rozpoczęcie procesów. Zaczynamy?

Uwaga: Windows PowerShell jest zbudowany z myślą o kompatybilności wstecznej, a tym samym obsługuje wiele poleceń wiersza polecenia. To powiedziawszy, możesz nadal używać starych poleceń w nowym, kolorowym interfejsie.

Czytaj także: wskazówki i narzędzia do automatyzacji powtarzalnych zadań w systemie Windows 10

Get-Help

Jeśli jesteś nowy w PowerShell, możesz napotkać problemy; w takich sytuacjach Get-Help staje się twoim wybawcą., Dostarcza niezbędnych informacji o cmdletach, poleceniach, funkcjach, skryptach i przepływach pracy PowerShell.

Co więcej, jest to proste: musisz wpisaćGet-Help , a następnie polecenie, którego szukasz szczegółów. Na przykład, możesz uzyskać informacje o „Get-Process” używając Get-Help Get-Process.

Get-Command

Windows PowerShell umożliwia wykrywanie poleceń i funkcji za pomocą polecenia Get., Wyświetla listę poleceń określonej funkcji lub DO OKREŚLONEGO CELU w oparciu o parametr wyszukiwania.

wystarczy wpisać Get-Command, a następnie zapytanie w PowerShell. Na przykład Get-Command *-service* wyświetla polecenia z „- service ” w nazwie. Pamiętaj, aby użyć gwiazdek po obu stronach zapytania, ponieważ jest to dzika karta, która pomaga w poszukiwaniu nieznanego.,

wywołaj polecenie

gdy chcesz uruchomić polecenie lub skrypt PowerShell-lokalnie lub zdalnie na jednym lub wielu komputerach — „wywołaj polecenie” jest twoim przyjacielem. Jest łatwy w użyciu i pomaga kontrolować komputery wsadowe.

musisz wpisać Invoke-Command, a następnie polecenie lub skrypt z pełną ścieżką. Na przykład, możesz uruchomić polecenie „Get-EventLog” używając Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} lub na zdalnym komputerze „Server01” używając Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} -ComputerName Server01.,

wywołanie wyrażenia

wywołanie wyrażenia uruchamia inne polecenie lub wyrażenie. Jeśli podajesz wyrażenie lub łańcuch znaków jako dane wejściowe, to polecenie najpierw je ocenia, a następnie uruchamia, ale działa tylko lokalnie, w przeciwieństwie do poprzedniego polecenia.

musisz wpisaćInvoke-Expression po którym następuje polecenie lub wyrażenie. Na przykład, możesz przypisać zmienną „$Command „z łańcuchem informującym o komendzie „Get-Process”., Po uruchomieniu Invoke-Expression $Command, „Get-Process” zostanie uruchomiony jako polecenie na twoim komputerze lokalnym.

Invoke-WebRequest

możesz pobrać, zalogować się i zeskrobać informacje o stronach internetowych i usługach internetowych podczas pracy na Windows PowerShell za pomocą Invoke-WebRequest.,

Set-ExecutionPolicy

chociaż tworzenie i wykonywanie skryptów (z rozszerzeniem „ps1”) w Windows PowerShell jest możliwe, jednak istnieją ograniczenia dla celów bezpieczeństwa. Ale możesz zmienić poziom bezpieczeństwa za pomocą polecenia Set-ExecutionPolicy.

możesz wpisaćSet-ExecutionPolicy, a następnie jeden z czterech poziomów zabezpieczeń — Ograniczony, zdalny podpis, wszystkie podpisane lub Nieograniczony, aby użyć polecenia., Na przykład status ograniczonych zasad można przypisać za pomocą Set-ExecutionPolicy -ExecutionPolicy Restricted.

Get-Item

Jeśli szukasz informacji o elemencie w dowolnej lokalizacji, powiedzmy o pliku na dysku twardym, Get-Item jest najlepszym sposobem na uzyskanie go w Windows PowerShell. Musisz wiedzieć, że nie pobiera on zawartości elementu, np. plików i podkatalogów w danym katalogu, chyba że wyraźnie określiłeś to przez Ciebie.,

musisz wpisaćGet-Item, a następnie ścieżkę lub łańcuch wraz z jej parametrami, jeśli istnieją. Na przykład, możesz uzyskać wszystkie elementy (pliki lub foldery) zaczynające się od „M” w bieżącym katalogu, używając Get-Item M*. Wraz z zawartością katalogów, może również uzyskać zawartość kluczy rejestru.

Kopiuj element

Jeśli chcesz skopiować pliki i katalogi na dysku lub wpisy rejestru i klucze w rejestrze, możesz użyć Kopiuj element., Działa podobnie do polecenia „cp”, które mamy w wierszu polecenia, ale jest znacznie lepiej.

możesz użyć polecenia Copy-Item do kopiowania i zmiany nazw elementów w tym samym poleceniu — podaj nową nazwę jako miejsce docelowe. Na przykład, można skopiować I zmienić nazwę „Usługi.htm ” do ” MyServices.txt „używając Copy-Item "C:\Services.htm" -Destination "C:\MyData\MyServices.txt".

Usuń element

Jeśli chcesz usunąć elementy, takie jak pliki, foldery, funkcje, klucze rejestru i zmienne, Usuń element jest poleceniem dla Ciebie. Interesujące jest to, że zapewnia parametry do dołączania i wyłączania elementów.,

możesz użyć poleceniaRemove-Item, aby usunąć elementy z określonych lokalizacji za pomocą parametrów. Na przykład możesz usunąć plik ” MyServices.txt „poleceniem Remove-Item "C:\MyData\MyServices.txt".

Get-Content

gdy musisz wyświetlić zawartość pliku tekstowego w określonej lokalizacji, otwierasz go i czytasz w edytorze kodu / tekstu, takim jak Notepad++. W Windows PowerShell możesz użyć Get-Content, aby pobrać zawartość bez otwierania pliku.,

Set-Content

Możesz zapisać tekst do plików za pomocą Set-Content, podobnie jak polecenie „echo” powłoki Bash. W połączeniu z Get-Content, można również pobrać zawartość jednego pliku i skopiować go do innego pliku za pomocą tego polecenia.

na przykład możesz wpisać Set-Content, aby zapisać lub zastąpić zawartość pliku nową zawartością. Co więcej, możesz połączyć go z poprzednim przykładem polecenia, aby zapisać jego wynik do nowego pliku o nazwie ” Sample.txt „używając Get-Content "C:\Services.htm" -TotalCount 50 | Set-Content "Sample.txt".,

Get-Variable

Jeśli chcesz używać zmiennych w Windows PowerShell, polecenie Get-Variable pomaga wizualizować wartości zmiennych. Pokazuje je w formie tabelarycznej i umożliwia włączanie, 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żesz pobrać wartość zmiennej o nazwie „desc” za pomocą następującego kodu: Get-Variable -Name "desc".,

Set-zmienna

możesz użyć poleceniaSet-Variable, a następnie jego parametry, aby ustawić zmienną. Na przykład, możemy ustawić wartość dla zmiennej o nazwie „desc” za pomocą polecenia Set-Variable -Name "desc" -Value "A Description".

Get-Process

Zwykle używamy Menedżera zadań, aby znaleźć 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 można dalej przetwarzać.,

Możesz zapisać polecenie jakoGet-Processwraz z zapytaniem. Na przykład, jeśli potrzebujesz informacji o procesach z „explore” w nazwie, możesz wpisać Get-Process *explore* (zwróć uwagę na gwiazdki).

Start-proces

Windows PowerShell ułatwia uruchomienie jednego lub więcej procesów na komputerze. Zauważyłem, że to polecenie jest przydatne w aplikacjach skryptowych, ponieważ jest jednym z niezbędnych poleceń, które będziesz potrzebować do automatyzacji zadania.

możesz wpisaćStart-Process, a następnie jego parametry, aby użyć polecenia., Na przykład, możesz uruchomić Notatnik wpisując Start-Process -FilePath "notepad" -Verb runAs w PowerShell Windows.

Stop-Process

możesz zatrzymać określone lub wszystkie instancje procesu uruchomione na twoim komputerze, używając jego nazwy lub PID (Identyfikator procesu), dzięki poleceniu Stop-Process. Przekonujące jest to, że możesz wykryć, że proces został zatrzymany lub nie, a nawet zatrzymać procesy, które nie są własnością lub nie zostały uruchomione przez bieżącego użytkownika.,

możesz wpisać polecenieStop-Process, a następnie jego parametry, aby zatrzymać podane procesy. Na przykład, możesz zatrzymać wszystkie procesy Notatnika za pomocą polecenia Stop-Process -Name "notepad".

Get-Service

gdy potrzebujesz informacji o konkretnych usługach (uruchomionych lub zatrzymanych) na komputerze, możesz użyć Get-Service. Wyświetla usługi zainstalowane w systemie i udostępnia opcje filtrowania, włączania i wyłączania ich.

Jeśli chcesz użyć tego polecenia, możesz wpisać Get-Service, a następnie jego parametry., Na przykład, wpisz następujące Get-Service | Where-Object {$_.Status -eq "Running"}, aby uzyskać usługi „uruchomione” w systemie.

Start-Service

Jeśli chcesz uruchomić usługę na swoim komputerze, polecenie Start-Service może pomóc ci zrobić to samo z Windows PowerShell. Odkryłem, że jest wystarczająco potężny, aby uruchomić usługę, nawet jeśli usługa ta jest wyłączona na komputerze.

musisz podać nazwę usługi podczas korzystania z polecenia Start-Service., Na przykład Start-Service -Name "WSearch" uruchamia usługę „Windows Search” na komputerze lokalnym.

Stop-Service

Jeśli chcesz zatrzymać usługi uruchomione na twoim 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", aby zatrzymać usługę „Windows Search” na komputerze.

ConvertTo-HTML

PowerShell może dostarczyć niesamowitych informacji o Twoim systemie., Jednak jest on najczęściej prezentowany w niestandardowym formacie, ale możesz użyć ConvertTo-HTML, aby utworzyć i sformatować raport, aby go przeanalizować lub wysłać komuś.

możesz użyćConvertTo-HTML wraz z wyjściem innego polecenia za pomocą pipingu. Na przykład Get-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm wyświetla listę wszystkich usług i ich status w formie raportu internetowego, który jest przechowywany w pliku ” usługi.htm”.