Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

Jeśli jesteś zaawansowanym użytkownikiem systemu Windows, prawdopodobnie wiesz i rozumiesz, jak wykonywanie różnych operacji na komputerze może mieć więcej niż jedno podejście i że wyspecjalizowane aplikacje GUI są często bardziej ograniczające (i mniej satysfakcjonujące, bądźmy szczerzy) niż wprowadzanie poleceń w wiersz poleceń ręcznie. Po prostu odczuwasz satysfakcję, gdy widzisz przed sobą rozwijającą się ścianę tekstu, a jeśli wynik nie jest błędem, to tym bardziej jest to warte zachodu.

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

Na komputerach z systemem Windows można to osiągnąć tylko na dwa sposoby: za pomocą CMD lub PowerShell. Chociaż CMD jest odrobinę bardziej popularny niż PowerShell, jest również mniej wydajny, biorąc pod uwagę, że jego odpowiednik pozwala wykonać o wiele więcej operacji, w tym te, które można uruchomić przez CMD. Można powiedzieć, że PowerShell łączy moc starego CMD z możliwościami skryptów i poleceń cmdlet, dając mnóstwo możliwości dotyczących operacji, które można z nim wykonać.

Jednak sama liczba możliwych operacji, które można wykonać za pomocą PowerShell, może być dość onieśmielająca nawet dla doświadczonych użytkowników, nie wspominając o użytkownikach, którzy nigdy wcześniej nie słyszeli o CMD (nie mówiąc już o PowerShell). Nie martw się jednak, spróbujemy nauczyć Cię kilku prostych sztuczek, które możesz wykonać za pomocą PowerShell, a może nawet zapamiętasz na dłuższą metę. Chociaż ten nasz „kurs awaryjny” nie posłuży jako wyczerpujący podręcznik dla PowerShell, miejmy nadzieję, że pomoże ci odnaleźć się w PowerShell, dając ci kilka wskazówek i wyjaśniając kilka poleceń. Jeśli jesteś gotowy, zacznijmy.

Co to jest PowerShell?

Jak już krótko wspomnieliśmy powyżej, PowerShell to potężne narzędzie, którego można używać do szerokiego zakresu operacji. Co więcej, PowerShell to rozwiązanie do automatyzacji zadań, które zawiera kilka potężnych narzędzi, w tym między innymi powłokę wiersza poleceń (taką jak CMD), język skryptowy, a także strukturę zarządzania konfiguracją.

W przeciwieństwie do innych powłok, które mogą tylko akceptować i zwracać tekst, PowerShell może również akceptować i zwracać obiekty .NET dzięki wyjątkowej liczbie funkcji, które obejmuje. Oto niektóre z najważniejszych funkcji PowerShell związanych z powłoką:

  • Przewidywanie poleceń i uzupełnianie zakładek
  • Obsługa aliasów parametrów i poleceń
  • Kompleksowa historia wiersza poleceń
  • Możliwość łączenia poleceń w łańcuch przez potok
  • System pomocy w konsoli, który jest podobny do stron podręcznika w systemach uniksowych

Jednak to tylko zarysowanie wierzchołka góry lodowej, ponieważ, jak wspomnieliśmy wcześniej, PowerShell to coś więcej niż tylko powłoka; możesz go używać jako potężnego języka skryptowego do automatyzacji operacji zarządzania systemem, ale także do tworzenia, analizowania, testowania i wdrażania rozwiązań w różnych środowiskach.

Biorąc pod uwagę, że PowerShell jest oparty na .NET CLR (.NET Common Language Runtime), łatwo jest zrozumieć, dlaczego wszystkie dane wejściowe i wyjściowe, z którymi współpracuje PowerShell, są obiektami .NET. Ponadto absolutnie nie ma potrzeby analizowania tekstu wyjściowego tylko po to, aby PowerShell mógł z niego wyodrębnić informacje. Wśród funkcji skryptów PowerShell można znaleźć:

  • Kompleksowy system formatowania zapewniający czysty i łatwy wydruk
  • Twórz dynamiczne typy za pomocą rozbudowanego systemu typów
  • Możesz rozszerzyć możliwości PowerShell za pomocą klas, funkcji, modułów i skryptów
  • Natywna obsługa różnych formatów danych, w tym XML, JSON i CSV

Jeśli bardziej interesuje Cię zarządzanie infrastrukturą przedsiębiorstwa i konfigurowanie jej za pomocą kodu, z przyjemnością dowiesz się, że program PowerShell oferuje również tę możliwość za pośrednictwem struktury zarządzania konfiguracją żądanego stanu (DSC). Wśród operacji, które można łatwo wykonać, korzystając z DSC PowerShell, przypominamy:

  • Wdrażaj różne schematy konfiguracji za pomocą modeli push lub pull
  • Projektuj niestandardowe skrypty i konfiguracje deklaratywne, których możesz używać do powtarzalnych wdrożeń w swoim środowisku
  • Wymuszaj różne schematy konfiguracji
  • Raport o dryfowaniu konfiguracji

PowerShell ma zastrzeżony wiersz poleceń, który jest dostarczany z zastrzeżonym językiem programowania, który jest nieco podobny do Perla. Zauważ, że na początku PowerShell został opracowany, aby pomóc użytkownikom zarządzać obiektami na ich komputerach, ale jak możesz się domyślić, przeszedł długą drogę i jest teraz używany do bardziej rozbudowanych, złożonych zadań.

Na przykład możesz wykorzystać rozbudowane środowisko pracy PowerShell nie tylko do wykonywania różnych operacji zarządzania systemem, ale także do ich automatyzacji, dzięki czemu nie musisz od czasu do czasu angażować się w żmudne, powtarzalne zadania. Bardzo ważne jest również, aby wspomnieć, że możesz uzyskać dostęp do mnóstwa zasobów za pomocą tylko jednego programu (tj. PowerShell), w tym między innymi:

  • Instrumentacja zarządzania Windows
  • Interfejs API .NET Framework
  • Wiersz polecenia
  • Obiektowy model komponentu Windows
  • Polecenia PowerShell

W dzisiejszych czasach jednym z najpopularniejszych celów PowerShell jest pomoc użytkownikom końcowym w automatyzacji zadań zarządzania systemem, co pomaga im uniknąć angażowania się w szereg nudnych, powtarzalnych operacji. Udowodniono, że eliminacja czynnika ludzkiego z powtarzalnych działań zwiększa wydajność i redukuje błędy ludzkie z różnych powodów, więc jest to naprawdę korzystne dla wszystkich.

Możesz użyć PowerShell do wydawania prostych lub bardziej złożonych poleceń, ale ten program może również pomóc w tworzeniu skryptów opartych na tych poleceniach, które będą uruchamiane automatycznie przez PowerShell. Ponadto istnieje ogromna liczba poleceń, które można dostosować i wydać później, zwanych cmdletami.

Warto wspomnieć, że PowerShell jest wieloplatformowy i open-source, co oznacza, że ​​można go również używać na innych systemach, takich jak Mac lub Linux, bez uciekania się do sztuczek i narzędzi zwiększających kompatybilność, takich jak Wine lub Boot Camp.

Lista podstawowych poleceń PowerShell

Rozumiemy, że PowerShell może wydawać się nieco onieśmielający, zwłaszcza teraz, gdy odkryłeś, że jest czymś więcej niż tylko kolejnym wierszem poleceń na twoim komputerze i faktycznie obejmuje funkcje CMD, ale także określony język programowania i różne skrypty, których możesz użyć do automatyzacji operacje zarządzania systemem.

Jeśli jednak czujesz się zdeterminowany, aby opanować PowerShell i wszystko, co ma do zaoferowania, zdecydowanie zalecamy rozpoczęcie od jego najbardziej podstawowych funkcji. W ten sposób nie będziesz musiał cofać się o miesiące postępów, gdy odkryjesz, że przypadkowo użyłeś niewłaściwej funkcji, a cała praca, którą wykonałeś w międzyczasie, zaczyna wyglądać bardziej jak odległe wspomnienie.

Właśnie dlatego przygotowaliśmy listę podstawowych poleceń, których możesz bezpiecznie używać w sesjach PowerShell, aby przetestować funkcje tego potężnego programu i zobaczyć, które dokładnie co robi. Poniższa lista zawiera nazwy poleceń, ich aliasy oraz krótki opis działania każdego polecenia.

Zauważ, że możesz użyć nazw poleceń lub ich aliasów, a wynik będzie dokładnie taki sam. Powodem, dla którego preferuje się używanie aliasów, jest to, że są one znacznie szybsze do wpisania i jeśli potrafisz je poprawnie zapamiętać i skojarzyć z odpowiadającą im nazwą polecenia, ma to większy sens, jeśli chcesz szybko wykonać zadanie.

Nazwa polecenia Alias Opis
Dodaj zawartość AC Umożliwia dodawanie treści (np. słów lub danych) do pliku
Dodaj-PSSnapIn asnp Pomaga dodać wiele przystawek Windows PowerShell do
bieżącej sesji
Wyczyść zawartość clc Czyści zawartość elementu bez usuwania rzeczywistego elementu
Czysta historia cli Usuwa wszystkie wpisy z historii poleceń
Wyczyść-host jasne Czyści wyświetlacz programu hosta
Wyczyść-host cls Czy to samo, co jasne
Wyczyść-Pozycja cli Usuwa zawartość elementu bez usuwania rzeczywistego elementu
Clear-ItemProperty klp Wymazuje wartość właściwości bez faktycznego usuwania samej właściwości
Wyczyść-zmienna klv Usuwa wartość zmiennej
Porównaj-obiekt porównywać Pozwala porównać dwa zestawy obiektów
Porównaj-obiekt różnica Czy to samo, co porównaj
Połącz-sesja PS cnsn Umożliwia ponowne łączenie się z sesjami, z których się rozłączyłeś
Konwertuj-Ścieżka cvpa Umożliwia konwersję ścieżki Windows
PowerShell na ścieżkę dostawcy Windows PowerShell
Kopiuj element Kopiuj Pomaga skopiować element z określonej lokalizacji do innej
Kopiuj element cp Robi to samo, co kopiowanie
Kopiuj element cpi Robi to samo co kopiowanie i cp
Copy-ItemProperty cpp Pozwala skopiować wartość i właściwość z danej lokalizacji do
innej
Wyłącz-PSBreakpoint dbp Pomaga wyłączyć breakpointy w bieżącej konsoli
Odłącz-PSSession dnsn Odłącza Cię od bieżącej sesji
Włącz-PSBreakpoint ebp Pozwala włączyć punkty przerwań w bieżącej konsoli
Enter-PSSession etsn Pomaga uruchomić interaktywną sesję na zdalnym urządzeniu
Wyjście-PSSession exsn Kończy sesję interaktywną z urządzeniem zdalnym
Eksportuj-Alias epal Pozwala wyeksportować informacje o aliasach, które są aktualnie zdefiniowane
do pliku wyjściowego
Eksport-CSV epcv Pozwala konwertować obiekty na wiele
ciągów oddzielonych przecinkami (CSV) i eksportuje ciągi do dokumentu CSV
Eksportuj-sesję epsn Importuje polecenia z innej sesji i eksportuje je do
modułu Windows PowerShell
Dla każdego obiektu % Wykonuje określoną operację na każdym z elementów zawartych
w kolekcji obiektów wejściowych
Dla każdego obiektu dla każdego Robi to samo co %
Format-Niestandardowy fc Pomaga użyć niestandardowego widoku w celu sformatowania danych wyjściowych
Lista formatów fl Pozwala sformatować dane wyjściowe jako listę właściwości, w której każda właściwość
jest umieszczona w nowym wierszu
Format-Tabela ft Pozwala sformatować dane wyjściowe jako tabelę
Szeroki format fw Pomaga formatować obiekty jako szerokie tabele, w których
wyświetlana jest tylko jedna właściwość każdego obiektu
Get-Alias gal Pobiera aliasy dla bieżącej sesji
Get-ChildItem reż Pobiera listę wszystkich plików i folderów na dysku systemu plików
Get-ChildItem gci Robi to samo co dir
Get-ChildItem ls Robi to samo co dir i gci
Pobierz polecenie gcm Pobiera listę wszystkich poleceń, których możesz użyć
Pobierz zawartość Kot Wyświetla zawartość pliku
Pobierz zawartość gc Robi to samo co kot
Pobierz historię ghy Pobiera listę wszystkich poleceń wprowadzonych podczas bieżącej sesji
Pobierz historię h Robi to samo co ghy
Pobierz historię historia Czy to samo co ghy i h
Zdobądź przedmiot żołnierz amerykański Pozwala pobierać pliki i foldery
Get-ItemProperty gp Pobiera właściwości określonego elementu
Uzyskaj pracę gjb Pobiera listę wszystkich zadań Windows PowerShell działających w tle, które są
aktualnie uruchomione w Twojej sesji
Uzyskaj lokalizację gl Pobiera informacje o aktualnym stosie lokalizacji lub lokalizacji roboczej
Uzyskaj lokalizację pwd robi to samo co gl
Uzyskaj członka GM Pobiera wszystkie właściwości i metody określonych obiektów
Pobierz moduł gmo Pobiera listę zaimportowanych modułów lub modułów, które można zaimportować do
bieżącej sesji
Pobierz-Proces GPS Pobiera listę wszystkich procesów działających lokalnie lub na zdalnym
komputerze
Pobierz-Proces ps Robi to samo co GPS
Get-PSBreakpoint GBP Pobiera wszystkie punkty przerwań ustawione w bieżącej sesji
Get-PSCallStack gcs Wyświetla Twój aktualny stos połączeń
Pobierz PSDrive gdr Pobiera dyski w bieżącej sesji
Get-PSSession gsn Pobiera listę lokalnych i zdalnych sesji Windows PowerShell
Get-PSSnapIn gsnp Pobiera listę wszystkich przystawek Windows PowerShell na komputerze
Uzyskaj usługę gsv Wyświetla listę wszystkich usług na komputerze lokalnym lub zdalnym
Get-Unique Guy Pobiera unikalne przedmioty z posortowanej listy
Pobierz zmienną gv Wyświetla listę wszystkich zmiennych w bieżącej konsoli
Get-WmiObject gwmi Pobiera
instancje klas Instrumentacji zarządzania Windows (WMI) lub informacje o dostępnych klasach
Grupa-obiekt Grupa Pozwala obiektów grup, które zawierają tę samą wartość dla właściwości
, które można określić
Wsparcie Człowiek Wyświetla więcej szczegółów na temat poleceń i
koncepcji programu Windows PowerShell
Importuj-Alias ipal Umożliwia importowanie listy aliasów z pliku
Importuj-CSV ipcsv Twórz niestandardowe obiekty podobne do tabeli, używając wszystkich elementów zawartych w
pliku CSV
Moduł importu ipmo Importuj moduły do ​​bieżącej sesji
Importuj-PSS sion ipsn Importuje polecenia z innej sesji do bieżącej sesji
Wywołaj polecenie icm Umożliwia wykonywanie poleceń na komputerach lokalnych i zdalnych
Wywołanie-wyrażenie iex Umożliwia wykonywanie poleceń lub wyrażeń na komputerze lokalnym
Invoke-Historia ihy Wykonuje polecenia z historii sesji
Invoke-Historia r Robi to samo co ihy
Invoke-Item ii Wykonuje domyślną akcję na określonym elemencie
Invoke-RestMethod Irma Wysyła żądanie HTTP lub HTTPS do usługi sieciowej RESTful
Invoke-WebRequest kędzior Pobiera zawartość ze strony internetowej w Internecie
Invoke-WebRequest iwr Czy to samo, co curl
Wywołaj metodę WMI iwmi Umożliwia wywoływanie
metod Instrumentacji zarządzania Windows (WMI)
Miara-Obiekt zmierzyć Określa numeryczne właściwości obiektów, a także słów,
linii i znaków w obiektach tekstowych
mkdir md Tworzy nową pozycję (katalog)
Przenieś-przedmiot mi Pozwala przenieść przedmiot z określonej lokalizacji do innej
Przenieś-przedmiot ruszaj się robi to samo co mi
Przenieś-przedmiot mv Does the same thing as mi and move
Move-ItemProperty mp Allows you to move a property from a specific location to a different one
New-Alias nal Allows you to create a new alias
New-Item ni Lets you create a new item
New-Module nmo Generates a new dynamic module that exists only in memory
New-PSDrive mount Allows you to create temporary and persistent mapped network drives
New-PSDrive ndr Does the same thing as mount
New-PSSession nsn Establishes a persistent connection to a local or remote computer
New-PSSessionConfigurationFile npssc Creates a session configuration file
New-Variable nv Lets you create a new variable
Out-GridView ogv Allows you to send output to an interactive table in a separate window
Out-Host oh Sends the output to the command line (CMD)
Out-Printer lp Lets you send the output to a printer
Pop-Location popd Modifies your current location to the location that was pushed to the
stack most recently. You can use the Push-Locationcmdlet (pushd) to
pop the location either its default stack or from a stack that you create.
powershell_ise.exe ise Displays an explanation on how you can use the PowerShell_ISE.exe
command-line tool
Push-Location pushd Appends the current location to the top of a location stack
Receive-Job rcjb Fetches the results of current session Windows PowerShell background
jobs
Receive-PSSession rcsn Retrieves results of commands from disconnected sessions
Remove-Item del Removes files and folders
Remove-Item erase Does the same thing as del
Remove-Item rd Does the same thing as del and erase
Remove-Item ri Does the same thing as del, erase and rd
Remove-Item rm Does the same thing as del, erase, rd, and ri
Remove-Item rmdir Deletes folders
Remove-ItemProperty rp Allows you to delete a property and its value from a given item
Remove-Job rjb Lets you delete a Windows PowerShell background job
Remove-Module rmo Helps you remove modules from your current session
Remove-PSBreakpoint rbp Lets you remove breakpoints from the current console
Remove-PSDrive rdr Removes temporary Windows PowerShell drives, as well as disconnects
mapped network drives
Remove-PSSession rsn Lets you close one or more Windows PowerShell sessions (PSSessions)
Remove-PSSnapin rsnp Enables you to remove Windows PowerShell snap-ins from your current
session
Remove-Variable rv Clears a variable and its value
Remove-WMIObject rwmi Lets you delete an instance of an existing Windows Management
Instrumentation (WMI) class
Rename-Item ren Helps you rename an item in a Windows PowerShell provider namespace
Rename-Item rni Does the same thing as ren
Rename-ItemProperty rnp Enables you to rename an item’s property
Resolve-Path rvpa Resolves wildcard characters in a path, as well as displays the contents
of the path
Resume-Job rujb Helps you restart a job that was suspended
Select-Object select Lets you select objects as well as their properties
Set-Alias sal Lets you create or change a cmdlet’s or command element’s alias
(alternate name) in the current Windows PowerShell session
Set-Content sc Allows you to replace a file’s contents with contents that you specify.
Set-Item si Changes an item’s value to a value that’s specified in the command
Set-Location cd Lets you set your current working location to a specified location (changes
the active location)
Set-Location chdir Does the same thing as cd
Set-PSBreakpoint sbp Lets you set a breakpoint on a command, variable, or line
Set-Variable set Enables you to set a variable’s value or generates a variable if one with
the requested name does not exist
Show-Command shcm Displays a list of Windows PowerShell commands in a graphical
command window
Start-Job sajb Starts a background job in Windows PowerShell
Start-Process saps Launches one or more local processes
Start-Service sasv Lets you start one or more stopped services
Stop-Process kill Helps you stop one or more running processes
Where-Object ? Enables you to select certain objects from a collection based on their
property values
Write-Output echo Allows you to send an object to the next command in the pipeline. If it
reaches the last command in the pipeline, the command will display
the objects in the console

Don’t let the sheer amount of basic PowerShell commands intimidate you. Although we called them basic, there’s absolutely no need for you to start memorizing them. In fact, that’s the exact reason why we created the table above so that you can go on about your work without worrying about having to remember each and every command we mentioned above.

You can use it as a quick refresher or even use your browser’s search feature to locate a specific command, its alias, and what it does if you’re confused. Although we already included this piece of information in the table above, if you’re ever confused while working in PowerShell, using the help command will display a few helpful details on how you can use this program and its commands more efficiently.

You can also pair the help command with another command or alias if you want more details about that specific command. For instance, this is what PowerShell displays when you type help Add-Computer:

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

However, you can use help with any other of the commands or their aliases in our table above. Make sure you understand that the same command can have multiple aliases, which means that you can achieve the same result by using various aliases. Although this may sound confusing, it actually gives you plenty of flexibility in case you can’t remember one command alias, but you remember another one that can help you achieve the same goal.

Using PowerShell

Naturally, the first thing you’d want to do is locate PowerShell and launch it. One sure way to launch PowerShell from just about anywhere you are on your PC is to hold down the Shift button on your keyboard, right-click any empty spot on your screen (not a menu, icon, button, or similar object), and select Open PowerShell window here from the context menu.

In addition to giving you quick access to the PowerShell console anywhere on your PC, doing so will automatically switch the default working directory for PowerShell to the one you’re currently located at. If you’re on a Windows 10 PC, you can also launch PowerShell by pressing the Win key on your keyboard, typing PowerShell in the Start menu, and selecting PowerShell when it becomes visible in the list of results.

On older versions of Windows, you’ll need to manually locate the PowerShell executable, which you can either find in the Accessories or System folders in your Start menu. Furthermore, seeing how older systems (such as Windows 7) don’t provide you with PowerShell by default, you’ll also have to install it on your computer, along with all of its dependencies.

Notice how launching PowerShell from the Start menu will set your active working directory to C:\Users\[your username here]. By comparison, using the Shift + Right-click method we’ve presented above will set PowerShell’s active directory to the one you’re currently at when you spawn the console. For instance, if you use Shift + right-click and open PowerShell from your desktop, you’ll notice that the active directory will be C:\Users\[your username here]\Desktop. For obvious reasons, the [your username here] part will be different depending on your username.

Although you can keep PowerShell for home usage just fine, it’s better if you could make use of all that it has to offer. Incidentally, these features make PowerShell awesome for corporate usage, where you need to perform a large number of operations in a short time, and most likely on a huge number of devices.

Dlatego zamiast ręcznie uruchamiać każde polecenie na każdym pojedynczym komputerze, możesz po prostu utworzyć skrypt automatyzacji w PowerShell i automatycznie otrzymywać potrzebne informacje, bez konieczności fizycznej interakcji z urządzeniami na wypadek lub nawet przebywania w ich pobliżu. Podobnie jak CMD, PowerShell może być używany za pomocą wierszy poleceń. Jednak w przeciwieństwie do swojego bardziej podstawowego odpowiednika (tj. CMD), PowerShell umożliwia również przywoływanie skryptów i poleceń cmdlet, co czyni go potężniejszym, ale także bardziej skomplikowanym w użyciu.

Jak korzystać z poleceń cmdlet

W naszym przewodniku kilka razy używaliśmy terminu  cmdlet , więc prawdopodobnie zastanawiasz się, co one oznaczają. Cóż, na początek warto przypomnieć, że CMD działa z poleceniami. Polecenie cmdlet, które jest wymawiane jako polecenie-let, jest również poleceniem, ale w przeciwieństwie do tradycyjnych poleceń CMD, polecenia cmdlet są specyficzne dla PowerShell i umożliwiają wykonywanie pojedynczych określonych operacji, takich jak kopiowanie plików, przenoszenie elementów z jednego miejsca do drugiego, zmiana aktywnych katalogu lub zobacz zawartość elementu.

Mówiąc najprościej, cmdlety to polecenia jednofunkcyjne, które można wpisywać bezpośrednio w wierszu poleceń PowerShell. Jeśli masz wcześniejsze doświadczenie z CMD, praca z programem PowerShell jest nieco intuicyjna. Jedną z interesujących rzeczy w PowerShell jest to, że udostępnia wiele poleceń z CMD. Dlatego używanie CD z PowerShellem nadal zmieni Twój aktywny katalog, DIR nadal będzie wyświetlał zawartość bieżącego folderu, a CP nadal pozwoli Ci skopiować element z jednego miejsca do drugiego.

Warto wspomnieć, że PowerShell nie rozróżnia wielkości liter, w przeciwieństwie do wielu innych powłok, które zwracają błędy, jeśli podczas wpisywania poleceń nie użyjesz poprawnej wielkości liter. Zatem copy-item  będzie działać tak samo dobrze jak Copy-Item , a jeśli nie pamiętasz żadnego z nich, możesz również użyć  Copy , CPCPI (ale także copy , COPY , cp lub cpi ).

Większość poleceń cmdlet programu PowerShell jest napisana w języku C# i jest specjalnie zbudowana do wykonywania operacji, które zwrócą obiekt .NET jako wynik. W tej chwili możesz znaleźć więcej niż kilkaset poleceń cmdlet, których możesz użyć w PowerShell, co, bądźmy uczciwi, daje więcej niż tylko trochę swobody w wykonywaniu operacji.

Chociaż trudno będzie zapamiętać wszystkie polecenia cmdlet, z którymi być może będziesz musiał pracować (pamiętaj, że możesz skorzystać z powyższej tabeli), jest kilka, których będziesz używać częściej, co sprawi, że będą niezwykle łatwe do zapamiętania. Nie wspominając już o tym, że niektóre z nich są na tyle intuicyjne, że ich nazwa zdradza ich przeznaczenie (np.  kopiowanie  służy do kopiowania elementów,  przenoszenie  może służyć do przenoszenia plików,  porównywanie pomaga porównywać zestawy obiektów itp.).

Jeśli jednak nie masz ochoty dodawać tego artykułu do zakładek, aby użyć go później, możesz również wpisać  polecenie cmdlet Get-Command w PowerShell lub  gcm , jeśli chcesz, aby wszystko było zwięzłe. Spowoduje to wyświetlenie pełnej listy dostępnych poleceń i możesz użyć tej listy do planowania z wyprzedzeniem tego, co chcesz zrobić.

Odblokowywanie niestandardowych poleceń cmdlet

Z drugiej strony Microsoft nie tylko zapewnia pełny dostęp do całej gamy poleceń cmdlet, których możesz domyślnie używać w PowerShell, więc będziesz musiał przeskoczyć przez kilka dodatkowych obręczy, aby odblokować tę funkcję i używać jej na swoim wypoczynek. Dobrą wiadomością jest to, że proces odblokowywania nie trwa długo, a ponadto można to zrobić również za pomocą PowerShell, co będzie dla ciebie świetną praktyką. Bez dalszych ceregieli zobaczmy, jak odblokować uprawnienia do niestandardowych poleceń cmdlet w PowerShell.

  1. Zaloguj się na konto administratora (nie będzie działać bez uprawnień administratora)
  2. Uruchom PowerShell z uprawnieniami administratora (Uruchom jako administrator)
  3. Wpisz następujące polecenie w PowerShell i naciśnij Enter:
    • Set-ExecutionPolicy
  4. Jeśli zrobisz to dobrze, PowerShell wyświetli okno dialogowe z prośbą o nową wartość ExecutionPolicy
  5. Wpisz RemoteSignedwiersz polecenia PowerShell i naciśnij Enter
  6. PowerShell poinformuje Cię o ryzyku związanym z modyfikacją wartości ExecutionPolicy
  7. Wpisz  Y i naciśnij klawisz EnterŚciągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz
  8. Jeśli chcesz wyłączyć niestandardowe polecenia cmdlet, wykonaj kroki 1-4 , a gdy program PowerShell poprosi o wpisanie wartości, wpisz Restrictedi potwierdź swój wybór, tak jak w kroku 7

Jeśli chcesz usprawnić cały proces i nie tracić czasu na wpisywanie wszystkiego w wierszu poleceń PowerShell, z przyjemnością dowiesz się, że istnieje jeszcze prostszy sposób na osiągnięcie tego samego wyniku. Uruchom PowerShell z uprawnieniami administratora, tak jak w kroku pierwszym, i zamiast wpisywać każde polecenie i czekać na monit, będziesz przesyłać wszystko aż do potwierdzenia, wpisując to:

  • Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Oczywiście nadal będziesz musiał potwierdzić swój wybór, wpisując  Y i naciskając Enter na klawiaturze, ale po prostu pominąłeś krok i wykonałeś jednocześnie serię operacji. Właśnie dlatego zaawansowani użytkownicy PowerShell tworzą skrypty automatyzacji do automatycznego wykonywania różnych operacji zarządzania: aby zaoszczędzić czas i kłopoty. Jeśli chcesz, możesz użyć tego samego polecenia powyżej, aby wyłączyć niestandardowych apletów poleceń w systemie, ale będziesz musiał wymienić RemoteSignedz Restricteda także potwierdzić swój wybór na końcu.

Możesz także użyć AllSignedi Unrestrictedprzyznać sobie jeszcze więcej uprawnień, jeśli chodzi o uruchamianie potencjalnie niebezpiecznych skryptów w programie Windows PowerShell. Opcja AllSigned  pozwoli Ci uruchomić wszystkie skrypty, które zostały stworzone przez zaufanych wydawców, natomiast  opcja Unrestricted umożliwi PowerShellowi uruchomienie dowolnego skryptu, niezależnie od jego pochodzenia i wiarygodności. Oczywiście  opcja Bez ograniczeń jest również najbardziej niebezpieczna, więc staraj się jej unikać najlepiej, jak możesz, jeśli to możliwe, zwłaszcza jeśli jesteś nowicjuszem na komputerze.

Widzieć? PowerShell już zaczyna wyglądać o wiele bardziej przystępnie niż zaledwie kilka minut temu.

Jak tworzyć i używać skryptów w PowerShell

Jak wspomnieliśmy wcześniej i jesteśmy pewni, że pamiętasz, możesz używać PowerShell do uruchamiania skryptów automatyzacji. Jednak nie możesz po prostu krzyczeć do PowerShell „Hej, stwórz dla mnie ten skrypt!” i spodziewaj się, że zadziała magicznie, więc będziesz musiał włożyć trochę smaru do łokci i zrobić to sam. Jakkolwiek może to zabrzmieć teraz niewygodnie, zaufaj nam, na dłuższą metę będziesz wdzięczny, biorąc pod uwagę całą pracę, której już nie będziesz musiał wykonywać.

Chociaż większość z nas polega na specjalistycznym oprogramowaniu, takim jak IDE, do tworzenia skryptów lub programów w określonym języku programowania, prawdę mówiąc, możesz używać dowolnego edytora tekstu, o ile może on zapisywać pliki we właściwym rozszerzeniu. A nawet jeśli nie, możesz po prostu przejść do utworzonego pliku i ręcznie zmodyfikować jego rozszerzenie, zmieniając jego nazwę, ale wróćmy do naszych owiec.

Jeśli jesteś zainteresowany tworzeniem skryptu, który może działać w PowerShell, z przyjemnością dowiesz się, że ten skrypt, o którym prawdopodobnie słyszałeś wiele, jest jedynie dokumentem tekstowym z rozszerzeniem, które czyni go kompatybilnym z PowerShell, PS1 . Dlatego łatwo zrozumieć, dlaczego tworzenie tych skryptów można faktycznie obsługiwać z poziomu praktycznie dowolnego edytora tekstu, o ile zapiszesz go z odpowiednim rozszerzeniem (PS1).

Write-host "Please enter your name:"

$Name = read-host

"Hello $Name! Visit TipsWebTech360.com for more awesome tutorials and guides!"

Teraz przejdźmy do właściwej części tworzenia:

  1. Uruchom Notatnik (lub dowolny inny edytor tekstu w tym zakresie)
  2. Skopiuj powyższy kod (skrypt, który będziesz tworzyć i uruchamiać)
  3. Wklej go do nowego dokumentu Notatnika
  4. Użyj CTRL + S, aby zapisać dokument
  5. Wpisz  script.ps1jako nazwę pliku
  6. Zapisz plik w dostępnym miejscu
  7. Otwórz instancję PowerShell z uprawnieniami administratora (bardzo ważne)
  8. Upewnij się, że masz włączone niestandardowe skrypty w swoim systemie (sprawdź sekcje powyżej)
  9. Przejdź do lokalizacji, w której zapisałeś skrypt
  10. Wpisz pełną ścieżkę skryptu, aby go uruchomić
    • Na przykład, jeśli twój skrypt znajduje się w folderze Scripts na dysku C, twoje polecenie będzie C:\Scripts\script.ps1
    • Alternatywnie możesz po prostu przejść do lokalizacji swojego skryptu i użyć tego polecenia, aby go uruchomić: .\script.ps1

Jeśli nie możesz uruchomić skryptu, a program PowerShell zwróci błąd, upewnij się, że włączono program PowerShell do uruchamiania skryptów niestandardowych w systemie i że używasz programu PowerShell jako administrator. Niewykonanie żadnej lub obu czynności, które określiliśmy w naszych instrukcjach, najprawdopodobniej spowoduje błąd i nie będzie można uruchomić skryptu.

Pamiętaj, że to tylko podstawowy skrypt, który jest nieco podobny do klasycznego „Hello, world!” jeden. Nastawia to na to, że wchodzi w interakcję z tobą (tj. pyta o twoje imię) i pozwala ci na interakcję z nim (tj. wpisując twoje imię, które zostanie użyte do wydrukowania wiadomości dla ciebie). Jednak PowerShell jest w stanie uruchamiać znacznie bardziej złożone skrypty, od zbierania danych z szeregu maszyn po skomplikowane zarządzanie danymi, zaawansowane operacje konfiguracyjne systemu, a nawet tworzenie kopii zapasowych baz danych SQL w mgnieniu oka.

Jak mogę wykonać kopię zapasową baz danych SQL za pomocą PowerShell?

Cieszymy się, że zapytałeś. Jak wspominaliśmy niezliczoną ilość razy w naszym przewodniku, istnieją prawie nieskończone możliwości, jeśli chodzi o operacje, które PowerShell może Ci pomóc. Jednym z najpopularniejszych jest tworzenie kopii zapasowych bazy danych SQL bez konieczności wykonywania dużych nakładów pracy lub posiadania nadzwyczajnych możliwości zarządzania bazą danych. Wszystko, co musisz zrobić, to uruchomić podwyższoną instancję PowerShell (z uprawnieniami administratora) i użyć polecenia Backup-SqlDatabase . Sprawy są jednak nieco bardziej skomplikowane, ale za chwilę do tego dojdziemy.

Tworzenie kopii zapasowej bazy danych SQL nie jest tak proste, jak zwykłe kopiowanie plików z komputera w bezpieczne miejsce i mam nadzieję, że pozostaną one bezpieczne, gdy będą potrzebne do wykonania operacji przywracania danych, ale z drugiej strony użycie PowerShell może sprawić, że będzie wyglądać jak spacer po parku. Chociaż istnieje kilka sposobów, aby to osiągnąć, użycie wspomnianego powyżej polecenia jest najszybszym i najprostszym sposobem wykonania kopii zapasowej bazy danych SQL.

Wśród możliwości polecenia Backup-SqlDatabase można znaleźć pełne kopie zapasowe bazy danych, kopie zapasowe plików baz danych, a także kopie zapasowe dzienników transakcji, dzięki czemu otrzymujesz pełny pakiet w jednym narzędziu wiersza poleceń. Domyślnie użycie tego polecenia spowoduje wykonanie pełnej kopii zapasowej bazy danych, więc za pomocą parametru BackupFile należy określić, czy ma ona przestrzegać określonego zestawu reguł .

Zwróć uwagę, że niektóre wersje programu PowerShell domyślnie nie zawierają tego polecenia, więc będziesz musiał je zaimportować lub zainstalować. Dobrą wiadomością jest to, że instalacja modułu SQL nie jest do końca nauką o rakietach i może być wykonana nawet przez nowicjuszy. Oto, co musisz zrobić, jeśli nie możesz użyć polecenia Backup-SqlDatabase w sesji PowerShell:

  1. Uruchom PowerShell z uprawnieniami administratora
  2. Wpisz następujące polecenie:
    • install-module sqlserver
  3. Gdy zostaniesz poproszony o potwierdzenie swoich działań, wpisz Y i naciśnij Enter na klawiaturze
  4. Potwierdź niezaufane repozytorium jeszcze raz, wpisując Y i EnterŚciągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz
  5. Po zakończeniu instalacji wpisz następujące polecenie:
    • import-module sqlserver
  6. Spróbuj uruchomić polecenie Backup-SqlDatabase, wpisując je w wierszu poleceń PowerShell
    • Jeśli to działa, powinieneś zobaczyć, że PowerShell prosi o podanie wartości niektórych parametrów
    • Jeśli to nie zadziała, upewnij się, że masz ustawione uprawnienia PowerShell, aby umożliwić mu uruchamianie niestandardowych skryptów

1. Kompletna kopia zapasowa bazy danych SQL

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360"

Powyższe polecenie wygeneruje pełną kopię zapasową bazy danych o nazwie TipsWebTech360 i zapisze ją w domyślnej lokalizacji kopii zapasowej instancji serwera „Computer\Instance” jako „Tips.WebTech360.bak”.

2. Wykonaj kopię zapasową bazy danych w oparciu o lokalizację

  • Set-Location "SQLSERVER:\SQL\Computer\Instance"
  • PS SQLSERVER:\SQL\Computer\Instance> Backup-SqlDatabase -Database "Tips.WebTech360"

Pierwsze polecenie powyżej zmieni Twoją lokalizację na aktywny katalog w instancji serwera, na której zostanie wykonana kopia zapasowa. Zasadniczo ta technika działa prawie jak pełna kopia zapasowa bazy danych, którą pokazaliśmy powyżej, ale w tym przykładzie możesz zmienić katalog roboczy, aby zlokalizować instancję serwera, w której występuje kopia zapasowa.

Ta operacja spowoduje również utworzenie pełnej kopii zapasowej bazy danych o nazwie Tips.WebTech360 i wyeksportowanie jej jako pliku „Tips.WebTech360.bak” w domyślnej lokalizacji instancji serwera, z którą jesteś połączony.

3. Wykonaj kopię zapasową dziennika transakcji

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360" -BackupAction Log

Jeśli potrzebujesz tylko wykonać kopię zapasową dziennika transakcji określonej bazy danych, PowerShell może również pomóc w tym za pomocą jednego polecenia, które możesz wprowadzić bezpośrednio w interfejsie wiersza poleceń. Powyższe polecenie wygeneruje kopię zapasową dziennika transakcji bazy danych „Tips.WebTech360” i wyeksportuje ją do domyślnej lokalizacji instancji serwera „Computer\Instance” jako plik o nazwie „Tips.WebTech360.trn”.

4. Utwórz zaszyfrowaną kopię zapasową bazy danych SQL

  • $EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
  • Backup-SqlDatabase -ServerInstance "." -Database "Tips.WebTech360" -BackupFile "Tips.WebTech360.bak" -CompressionOption On -EncryptionOption $EncryptionOption

Jeśli obawiasz się, że kopia zapasowa bazy danych może wpaść w niepowołane ręce, PowerShell może również pomóc w tworzeniu zaszyfrowanych plików kopii zapasowych. Oczywiście będziesz musiał określić niektóre parametry, takie jak algorytm szyfrowania, typ szyfrowania (tj. certyfikat), instancję serwera, nazwę bazy danych, plik kopii zapasowej oraz to, czy chcesz skompresować dane wyjściowe.

Powyższy przykład utworzy kopię zapasową pewnej bazy danych „Tips.WebTech360”, zaszyfruje ją szyfrowaniem AES-256 i certyfikatem serwera, skompresuje i zapisze wynikowy plik „Tips.WebTech360.bak” w domyślnej lokalizacji kopii zapasowej instancji serwera. Jest to bardzo ważne, jeśli planujesz migrację i nie masz pewnego sposobu na przetransportowanie wszystkich plików kopii zapasowych bez ryzyka zerwania z którymkolwiek z nich.

5. Wykonaj kopię zapasową wszystkich baz danych w instancji serwera

  • Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase

Innym przydatnym narzędziem jest możliwość tworzenia kopii zapasowych wszystkich baz danych na instancji serwera w tym samym czasie przez PowerShell. Niezależnie od ich liczby, po prostu odpalasz PowerShell, wpisujesz adaptację powyższego polecenia i czekasz na zakończenie procesu tworzenia kopii zapasowej. Pamiętaj, że ponieważ spowoduje to utworzenie kopii zapasowej wszystkich baz danych w instancji serwera, być może będziesz musiał chwilę poczekać, więc bądź cierpliwy.

Powyższe polecenie utworzy kopię zapasową wszystkich baz danych znajdujących się na instancji serwera „Komputer\Instancja” i wyeksportuje pliki wynikowe do domyślnej lokalizacji kopii zapasowej na tej samej instancji serwera. Nazwy plików kopii zapasowych zostaną wygenerowane automatycznie zgodnie z odpowiednią bazą danych, po której nastąpi rozszerzenie BAK (np. .bak).

Chociaż istnieje kilka innych metod wykonywania kopii zapasowych SQL za pomocą PowerShell na różne sposoby, przedstawiliśmy tylko kilka, które naszym zdaniem były ważniejsze. Zauważ, że polecenia, których użyliśmy w naszych przykładach powyżej, prawdopodobnie nie będą działać w twoim środowisku w ich obecnej formie, więc będziesz musiał dostosować je do swojej obecnej sytuacji.

Na przykład, będziesz musiał zmienić parametr „Komputer\Instancja”, aby pasował do Twojej własnej instancji serwera i zmodyfikować nazwę bazy danych, aby odzwierciedlała nazwę Twojej własnej bazy danych. Pamiętaj, że zawsze możesz  skorzystać z polecenia pomocy w PowerShell, jeśli kiedykolwiek poczujesz, że polecenie, które próbujesz uruchomić, jest mylące lub nie działa tak, jak powinno.

Polecenia PowerShell, które trzeba znać

1. Uzyskaj pomoc

Nie możemy tego wystarczająco podkreślić, ale polecenie  Get-Help  powinno być pierwszym, którego się nauczysz, ponieważ może poważnie wyciągnąć cię z wielu lepkich sytuacji, w których nie jesteś do końca pewien, czy używasz właściwego polecenia, lub dokładnie to, co możesz osiągnąć za pomocą polecenia, które próbujesz wdrożyć.

Teraz, gdy już zainstalowałeś moduł sqlserver w swoim systemie, możesz wypróbować teraz polecenie Get-Help i zobaczyć, jak działa Backup-SqlDatabase . Po prostu wpisz  Get-Help Backup-SqlDatabase w wierszu poleceń programu PowerShell i odśwież swoje umiejętności tworzenia kopii zapasowych bazy danych PowerShell SQL.

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

Zwróć uwagę, że jeśli niedawno zainstalowałeś moduł sqlserver w swoim systemie, baza danych Pomocy może nadal być nieaktualna i może być konieczne uruchomienie jej aktualizacji, aby mogła nadrobić zaległości w nowych skryptach. Domyślnie program PowerShell wykryje, że zawartość, do której próbujesz dotrzeć, jest dostępna w trybie online, ale nie możesz uzyskać do niej dostępu lokalnie, a nawet zaoferować aktualizację bazy danych. W takim przypadku wystarczy wpisać Y po wyświetleniu monitu i nacisnąć klawisz Enter na klawiaturze.

Jeśli jednak program PowerShell po prostu wyświetli komunikat o błędzie z informacją, że nie ma dostępnej instrukcji pomocy dla polecenia, które Cię interesuje, możesz zaktualizować je ręcznie, wpisując Update-Help i naciskając klawisz Enter na klawiaturze. Po zakończeniu procesu aktualizacji powinieneś być w stanie sprawdzić dostępną dokumentację pomocy dla interesującego Cię polecenia.

2. Uzyskaj proces

Get-Process ma kluczowe znaczenie, jeśli chcesz dowiedzieć się więcej o systemie, nad którym aktualnie pracujesz. Mówiąc dokładniej, chociaż mogłeś już zgadnąć, co robi to polecenie, po prostu na nie patrząc, Get-Process dostarczy ci listę wszystkich procesów, które są aktualnie uruchomione w systemie, nad którym pracujesz.

Domyślnie Get-Process pobierze listę wszystkich procesów uruchomionych w bieżącym systemie, na którym pracujesz, więc może być konieczne dodanie kilku dodatkowych parametrów do tego polecenia, jeśli chcesz uzyskać bardziej szczegółowe informacje i zawęzić listę wyników. Sprawdź na poniższych zrzutach ekranu, co otrzymasz, gdy uruchomisz samo polecenie Pobierz-Proces , w porównaniu z tym, jak wygląda, jeśli jesteś bardziej szczegółowy i sformatujesz wyniki.

  • Get-Process

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

  • Get-Process explorer | Format-List *

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

Drugie polecenie można dostosować, aby wyświetlić dodatkowe szczegóły dotyczące dowolnego aktywnego procesu w systemie. Można zastąpić  Explorersvchost lub  Chrome lub innego aktywnego procesu w systemie, że jesteś zainteresowany. Jak już wspomniano powyżej, stosując Get-Processes sama może ci w tym pomóc (czyli znalezienie listę wszystkich uruchomionych procesów ).

3. Zatrzymaj proces

To polecenie jest dość oczywiste, ponieważ być może już zorientowałeś się, że może pomóc zatrzymać procesy, które są aktualnie uruchomione w twoim systemie. Najczęstszym powodem robienia tego z PowerShell, a nie za pomocą Menedżera zadań systemu Windows, jest to, że czasami procesy mogą się zawiesić i sprawić, że aplikacje GUI są ledwo użyteczne.

Użytkownicy PowerShell mogą łatwo zidentyfikować problematyczny proces za pomocą polecenia Get-Process , które wyjaśniliśmy wcześniej, a następnie używając  Stop-Process, aby go zakończyć, odblokowując w ten sposób system. Running  Stop-Process sam (bez dodatkowych parametrów) w interfejsie wiersza polecenia PowerShell poprosi, aby wprowadzić identyfikator procesu, który próbujesz rozwiązać. 

Możesz jednak również zakończyć proces według jego nazwy (jeśli ją znasz), dołączając parametr -Name do polecenia cmdlet, jak w poniższym przykładzie:

  • Stop-Process -Name "explorer"

Powyższe polecenie zakończy proces Eksploratora, co może być przydatne, zwłaszcza jeśli zawiesza się lub zawiesza i odmawia poprawnego załadowania. Pamiętaj, że podczas określania nazwy procesu, który próbujesz zakończyć, musisz użyć cudzysłowów. Jeśli proces jest uparty i odmawia zakończenia (zazwyczaj robią to procesy o wyższym prześwicie), możesz go „przekonać”, dodając do polecenia parametr -Force . Powiedz na przykład, że nie możesz zakończyć procesu Eksploratora. W takim przypadku możesz po prostu wpisać poniższe polecenie:

  • Stop-Process -Force -Name "explorer"

Ponadto warto wspomnieć, że użycie parametru -Force w poleceniu Stop-Process nie spowoduje wyświetlenia pytania o potwierdzenie, w przeciwieństwie do uruchomienia polecenia bez tej opcji. Jeśli chcesz dowiedzieć się więcej o tym cmdlecie, użyj polecenia Get-Help .

4. Uzyskaj usługę

To polecenie jest jedną z podstawowych list poleceń nie bez powodu: może dostarczyć ci listę wszystkich usług, które są aktualnie zainstalowane w systemie, nad którym pracujesz, niezależnie od tego, czy są uruchomione, czy nie. Podobnie jak w przypadku wielu innych poleceń cmdlet, możesz dostosować Get-Service, aby zapewnić bardziej szczegółowe informacje dotyczące określonej usługi lub nawet wyświetlić listę wszystkich uruchomionych (lub zatrzymanych) usług na komputerze.

Możesz śmiało wpisać  Get-Service w wierszu poleceń PowerShell. Spowoduje to wyświetlenie listy wszystkich usług dostępnych na komputerze, a także ich wyświetlanych nazw i stanów. Jeśli dołączysz dodatkowe polecenie do oryginalnego polecenia cmdlet, możesz zmienić dane wyjściowe, tak aby wyświetlały tylko te wyniki, które Cię interesują.

  • Get-Service "W*"

Na przykład wpisanie powyższego polecenia powinno zwrócić listę wszystkich usług dostępnych na komputerze, które zaczynają się na literę „W”. Możesz jednak pójść jeszcze dalej i dostosować swoje polecenie, aby jeszcze bardziej zawęzić listę wyników.

  • Get-Service | Where-Object {$_.Status -eq “Running”}

Powyższe polecenie pozwoli ci zobaczyć listę wszystkich dostępnych usług na twoim komputerze, które są również uruchomione w czasie uruchamiania polecenia cmdlet. Dodanie „W*”,  tak jak w poprzednim przykładzie, spowoduje wyświetlenie listy wszystkich uruchomionych usług na komputerze, które zaczynają się na literę „W”, a polecenie powinno wyglądać tak:

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

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

5. Get-EventLog

Każdy odpowiedzialny administrator systemu powinien znać się na pracy z dziennikami zdarzeń, ponieważ dokumenty te mogą dostarczyć przydatnej wiedzy o tym, co wydarzyło się w systemie, o której godzinie to nastąpiło, a czasem nawet o tym, co wywołało to konkretne zdarzenie.

Dlatego możemy śmiało założyć, że polecenie PowerShell Get-EventLog  nie jest czymś, czego chcesz brakować w swoim pasku narzędzi, zwłaszcza jeśli planujesz doskonalić swoje umiejętności administrowania systemem. Jeśli wiesz wszystko, co trzeba wiedzieć o dziennikach zdarzeń i ich nazwach, możesz śmiało wpisać Get-EventLog bezpośrednio w wierszu poleceń programu PowerShell. Zauważ, że PowerShell poprosi o wprowadzenie nazwy dziennika, który próbujesz wyświetlić.

Jeśli wpiszesz nazwę pustego dziennika zdarzeń (bez wpisów), PowerShell wyświetli monit z błędem i powróci do interfejsu wiersza poleceń. Dlatego byłoby łatwiej, gdybyś właśnie użył poniższego polecenia, które dostarczy ci listę dzienników zdarzeń w twoim systemie, wraz z dodatkowymi szczegółami na temat każdego z nich, takimi jak domyślna akcja przepełnienia i liczba wpisów.

  • Get-EventLog -List

Jednym z najpopularniejszych przypadków użycia dzienników zdarzeń jest sprawdzanie błędów, zwłaszcza jeśli wystąpiły po cichu, po których nastąpiła awaria systemu lub doprowadziły do ​​BSODu, który wszyscy wiemy, jak tajemniczy może być. Jeśli jednak chcesz zawęzić listę wyników, która często może być ogromna, musisz być bardziej szczegółowy w przypadku polecenia cmdlet Get-EventLog.

  • Get-EventLog -LogName Security -EntryType Error

Wpisanie powyższego polecenia w interfejsie wiersza poleceń programu PowerShell powinno dostarczyć listę wszystkich błędów zarejestrowanych w dzienniku zdarzeń zabezpieczeń. Zauważ, że możesz użyć parametru -List, aby zobaczyć wszystkie typy dzienników w twoim systemie i zastąpić Securityw powyższym poleceniu dowolny inny typ dziennika, który znajdziesz na liście, o ile zawiera więcej niż zero wpisów.

Jeśli chcesz dowiedzieć się więcej o używaniu polecenia  Get-EventLog  w PowerShell, możesz użyć polecenia  Get-Help , o którym mówiliśmy w pierwszej sekcji tego podrozdziału. 

6. Konwertuj na HTML

Czasami podczas korzystania z programu PowerShell możesz natknąć się na pewne informacje, które chcesz wyodrębnić i zachować na przyszłość, tworzyć raporty lub po prostu importować je z innej aplikacji. Jednym z najczęściej używanych sposobów wyodrębniania tych danych z PowerShell i eksportowania ich do zewnętrznego pliku na komputerze jest polecenie ConvertTo-HTML  .

Użycie tego polecenia pomoże w tworzeniu kompleksowych raportów, które mogą pomóc w bardziej efektywnym analizowaniu wyodrębnionych informacji i spostrzeżeń dzięki udostępnieniu tabel HTML, które można później dostosować, dodając niestandardowe style i dane oznaczone kolorami. Podobnie jak w przypadku wielu innych poleceń PowerShell, ConvertTo-HTML nie działa sam i będziesz musiał sparować go z dodatkowym poleceniem, którego użyje jako danych wejściowych (lub źródła danych).

Na przykład, jeśli próbujesz wydrukować raport zawierający wszystkie usługi, które zaczynają się na literę „W” i są aktualnie uruchomione na Twoim komputerze, możesz wpisać poniższe polecenie:

  • Get-Service "W*" | Where-Object {$_.Status -eq "Running"} | ConvertTo-HTML

Dzięki temu otrzymasz kod HTML danych wprowadzonych do funkcji ConvertTo-HTML, który możesz po prostu skopiować bezpośrednio z interfejsu wiersza poleceń PowerShell, wkleić go do swojego ulubionego edytora tekstu i zapisać jako plik HTML, który możesz użyć, aby wyświetlić wynik w dowolnej przeglądarce internetowej.

Możesz użyć ConvertTo-HTML z praktycznie każdym poleceniem programu PowerShell, o ile polecenie, którego używasz jako źródła danych, wygeneruje dane wyjściowe. Możesz wypróbować to z innymi poleceniami cmdlet, takimi jak Get-Process , Get-EventLog lub Get-Help . Należy zauważyć, że oprócz konwersji HTML, polecenie cmdlet ConvertTo może być również używane do generowania plików JSON, CSV i XML. Musisz tylko zastąpić kod HTML w składni poleceń formatem, który Cię interesuje.

7. Eksportuj-CSV

Jeśli pracujesz z różnymi obiektami, które Twoim zdaniem mogą lepiej pasować do tabeli, możesz użyć programu PowerShell, aby przekonwertować aktualnie obsługiwane elementy na serię ciągów CSV (wartości oddzielone przecinkami) i wyeksportować ciągi do jednym szybkim ruchem za pomocą polecenia cmdlet Export-CSV.

Podobnie jak w przypadku ConvertTo-HTML, Export-CSV potrzebuje danych wejściowych, które może przekonwertować na ciągi CSV, ponieważ nie może działać samodzielnie. Dlatego będziesz musiał sparować go z poleceniem, które może być użyte do generowania danych, takim jak Get-Service lub Get-Process, które wyjaśniliśmy wcześniej.

Zasadniczo Export-CSV robi prawie to samo, co cmdlet ConvertTo-HTML, który omówiliśmy powyżej, z wyjątkiem jednego ważnego aspektu, którego nie należy przeoczyć: to polecenie cmdlet faktycznie generuje plik i zapisuje go na komputerze, w przeciwieństwie do polecenie ConvertTo, które daje tylko dane wyjściowe i pozwala na samodzielne utworzenie pliku.

Załóżmy na przykład, że chcesz przekształcić listę usług uruchomionych na komputerze w plik CSV, aby móc dalej przetwarzać plik za pomocą oprogramowania innej firmy, lub umieścić go w arkuszu kalkulacyjnym w celu uzyskania dalszych informacji. Wszystko, co musisz zrobić, to wpisać polecenie Get-Service, a następnie Export-CSV i wskazać lokalizację, w której chcesz wygenerować plik CSV, jak w poniższym przykładzie:

  • Get-Service | Export-CSV c:\Tips.WebTech360.csv

Powyższe polecenie pobierze listę wszystkich usług dostępnych na twoim komputerze, uruchomionych lub nie, przekonwertuje je na serię ciągów CSV i zapisze wynik jako plik CSV o nazwie „Tips.WebTech360” w katalogu głównym dysku C . Następnie możesz otworzyć plik w oprogramowaniu innej firmy, przekonwertować go na pełnoprawną tabelę lub po prostu zapisać do wykorzystania w przyszłości.

Ściągawka PowerShell – WNIOSEK

Chociaż wciąż wiele osób opowiada się za CMD, prawdę mówiąc, PowerShell jest bardziej wszechstronny, znacznie potężniejszy, ale jednocześnie bardziej skomplikowany w obsłudze niż jego tradycyjny odpowiednik CMD. Sama ilość funkcji w połączeniu z faktem, że możesz tworzyć skrypty automatyzacji w PowerShell i wykonywać skomplikowane operacje zarządzania systemem, pozostawia CMD w stożku cienia.

Jeśli dopiero zaczynasz odkrywać PowerShell i masz trudności z ustaleniem, co robi każde polecenie, jak potokować kilka poleceń lub jak samodzielnie tworzyć i uruchamiać proste skrypty PowerShell, nasz przewodnik jest świetnym punktem wyjścia. Poświęciliśmy trochę czasu, aby wyjaśnić niektóre z najważniejszych poleceń, o których powinieneś wiedzieć w PowerShell, stworzyliśmy kilka krótkich samouczków, a także zawarliśmy listę podstawowych poleceń PowerShell, ich aliasów i krótkich opisów dla każdego elementu, aby uprościć Twoja podróż odkrywcza PowerShell.


6 najlepszych narzędzi do zarządzania siecią, które śledzą wydajność

6 najlepszych narzędzi do zarządzania siecią, które śledzą wydajność

Rynek oprogramowania do zarządzania siecią jest bardzo zatłoczony. Skróć wyszukiwanie, postępując zgodnie z naszymi zaleceniami dotyczącymi najlepszych narzędzi do zarządzania siecią.

10 najlepszych narzędzi Ping Sweep, które powiedzą Ci więcej o Twojej sieci

10 najlepszych narzędzi Ping Sweep, które powiedzą Ci więcej o Twojej sieci

Ping sweeps można wykorzystać na wiele sposobów. Czytaj dalej, gdy omawiamy, jak i przedstawiamy 10 najlepszych narzędzi do wyszukiwania pingów, jakie możesz znaleźć.

6 najlepszych narzędzi do monitorowania stron internetowych

6 najlepszych narzędzi do monitorowania stron internetowych

Strony internetowe są ważne i muszą być stale ściśle monitorowane pod kątem odpowiedniej wydajności. Oto niektóre z najlepszych narzędzi do monitorowania stron internetowych.

Najlepsze narzędzia do wdrażania oprogramowania dla zespołów deweloperskich w 2022 r

Najlepsze narzędzia do wdrażania oprogramowania dla zespołów deweloperskich w 2022 r

Oto spojrzenie na niektóre z najlepszych narzędzi do wdrażania oprogramowania, które ułatwiają zarządzanie dowolną liczbą komputerów

Najlepsze darmowe kolektory i analizatory sFlow sprawdzone w 2021 r.

Najlepsze darmowe kolektory i analizatory sFlow sprawdzone w 2021 r.

sFlow to protokół analizy przepływu wbudowany w wiele urządzeń sieciowych. Oceniamy pięć najlepszych darmowych kolektorów i analizatorów sFlow.

Najlepsze narzędzia i oprogramowanie do monitorowania infrastruktury bez agentów w 2021 r.

Najlepsze narzędzia i oprogramowanie do monitorowania infrastruktury bez agentów w 2021 r.

Aby pomóc Ci wybrać właściwe, wprowadziliśmy najlepsze narzędzia do monitorowania infrastruktury bez agentów i zapewniliśmy szybki przegląd każdego z nich.

SolarWinds Mail Assure – PRZEGLĄD 2021

SolarWinds Mail Assure – PRZEGLĄD 2021

Bezpieczeństwo poczty e-mail jest ważnym zadaniem dostawców usług zarządzanych. Dokonaliśmy przeglądu SolarWinds Mail Assure, jednego z najlepszych narzędzi do tego celu.

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

Ściągawka z poleceniami Windows PowerShell — najlepszy przewodnik, którego potrzebujesz

Jeśli jesteś zaawansowanym użytkownikiem systemu Windows, prawdopodobnie wiesz i rozumiesz, jak wykonywanie różnych operacji na komputerze może mieć więcej niż jedno podejście i

Najlepsze narzędzia do testowania i monitorowania opóźnień sieci w 2021 r.

Najlepsze narzędzia do testowania i monitorowania opóźnień sieci w 2021 r.

Opóźnienie wydaje się być wrogiem numer jeden sieci. Te narzędzia do pomiaru opóźnień nauczą, jak testować opóźnienia w celu wykrywania, lokalizowania i rozwiązywania problemów.

Najlepsze narzędzia do monitorowania sieci dla systemu Windows 10 w 2021 r.

Najlepsze narzędzia do monitorowania sieci dla systemu Windows 10 w 2021 r.

Monitor sieci Windows wymaga narzędzi o ograniczonych wymaganiach. Dzisiaj przyjrzeliśmy się najlepszym narzędziom do monitorowania sieci dla systemu Windows 10.