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-Process
wraz 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”.