Korzystanie z PowerShell dla użytkowników domowych – przewodnik dla początkujących

Admin

Kto nie chciałby być czarodziejem i wypowiedzieć kilka słów, aby wydarzyć się magiczne rzeczy? Cóż, nie jesteśmy w stanie pokazać ci, jak być czarodziejem, ale możemy pokazać, jak wykonać odrobinę magii komputerowej.

Jeśli masz komputer z systemem Windows z systemem Windows 7, masz PowerShell. Ponadto, jeśli masz komputer z systemem Windows 7, zaktualizuj go ze względów bezpieczeństwa.

Spis treści

Ale ten artykuł nie jest przeznaczony tylko dla osób z Windows. Najnowsza wersja PowerShell jest bezpłatna i można ją zainstalować i używać na komputerach Mac i Linux.

To ważne, ponieważ to, czego dowiesz się o PowerShell, może być teraz używane na prawie każdym komputerze. Kto wie? Możesz przenieść tę umiejętność na wyższy poziom i rozpocząć karierę w informatyce.

Co to jest PowerShell?

Zaawansowana technologicznie odpowiedź firmy Microsoft brzmi, że jest to „… powłoka wiersza poleceń zaprojektowana specjalnie dla administratorów systemu”. Brzmi onieśmielająco. Ale nie jest. Dbasz o swój komputer? Tak, to jesteś administratorem systemu w swoim domu.

Czy mówisz komputerowi, co ma robić z kliknięciami i naciśnięciami klawiszy? Tak, więc pomyśl o powłoce wiersza poleceń jako o kolejnym oknie, w którym wpisujesz, aby poinformować komputer, co ma robić. Możesz to zrobić.

PowerShell jest jak język programowania, ale nie tak tajemniczy jak większość. Naprawdę czyta się go jak zwykły angielski, co było czymś, do czego dążył Microsoft, aby mógł być podjęty przez nie-programistów.

Jest to sposób na napisanie kilku wierszy poleceń, zwanych skryptem, aby system operacyjny Windows zrobił coś, co chcesz. Następnie możesz zapisać te wiersze w pliku i uruchomić go jednym kliknięciem lub zaplanować okresowe uruchamianie.

Co możesz zrobić z PowerShellem?

Najważniejszym punktem programu PowerShell jest możliwość automatyzacji zadań, dzięki czemu nie musisz tracić czasu na wielokrotne robienie przyziemnych rzeczy. Dla profesjonalnego administratora systemów może to być coś w rodzaju tworzenia nowych użytkowników, generowania dla nich haseł i wysyłania e-maila ze szczegółami do nowego przełożonego.

Ten proces wykonywany ręcznie, za pomocą kliknięć i pisania, może zająć od 5 minut do nawet godziny lub więcej. Przy odpowiednich skryptach administrator systemu może nawet nie musieć wykonywać żadnej części tego.

Ale chcesz wiedzieć, co możesz zrobić z PowerShell w domu. Prawie wszystko, czego nie lubisz robić w kółko. Użyj go, aby zwolnić miejsce na dysku twardym, usuwając pliki tymczasowe i pliki dziennika, których nie potrzebujesz.

Ustaw godzinę policyjną na komputerze swojego dziecka. Zmień nazwę lub uporządkuj kilka plików. Na tym polega piękno PowerShell. Prawie wszystko, co możesz zrobić na swoim komputerze, możesz utworzyć skrypt PowerShell, aby zautomatyzować i uruchomić za pomocą kliknięcia lub zgodnie z harmonogramem.

Jak korzystać z PowerShell?

Najłatwiejszym sposobem pracy z PowerShellem jest Zintegrowane środowisko skryptów PowerShell (ISE). Możesz go znaleźć, klikając Start i wpisując Powershell ise w pasku wyszukiwania w systemie Windows 10. Powinieneś to zobaczyć, jak pokazano poniżej.

Po raz pierwszy użyjemy go, uruchomimy go jako Administrator. Aby to zrobić, musisz najpierw mieć uprawnienia administratora na swoim komputerze. W Twoim Menu Start, kliknij prawym przyciskiem myszy PowerShell ISE, a następnie kliknij Uruchom jako administrator.

Możesz otrzymać Użytkownik. Kontrola dostępu (UAC) wyskakujące okienko z ostrzeżeniem z pytaniem, czy na pewno chcesz to zrobić. ten. Kliknij TAk.

Teraz patrzysz na środowisko PowerShell IDE. Górna szyba okna (1) to okienko skryptów. Tutaj napiszesz swój scenariusz. Dolna szyba okna (2) to obszar konsoli. Podczas testowania skryptu zobaczysz dane wyjściowe w tym okienku.

Tutaj również zobaczysz komunikaty o błędach i takie, które pomogą ci naprawić i ulepszyć twoje skrypty. Szyba po prawej stronie okna (3) to dodatek do poleceń. Pomyśl o tym jako o słowniku wszystkich dostępnych poleceń PowerShell.

PowerShell jest ustawiony tak, aby nie uruchamiał żadnego innego skryptu niż te. już częścią systemu Windows. Musisz to zmienić, aby móc uruchomić swój. własne skrypty.

W oknie skryptów skopiuj i wklej następujące elementy:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

ten Set-ExecutionPolicy jego część nazywana jest cmdletem (wymawiane polecenielet). Polecenia cmdlet to potężne rzeczy. Pomyśl o nich jako o krótkich poleceniach, które możesz wydać systemowi Windows, a system Windows wykona kilka bardziej skomplikowanych rzeczy, aby spełnić twoje polecenie.

Analogią byłoby powiedzenie dziecku, aby posprzątało swój pokój. Krótko i na temat. Jeśli twoje dziecko jest dobrze zorientowane w sprzątaniu pokoju, pójdzie i pościeli łóżko, włoży pranie do kosza, odłoży zabawki i książki na półkę, a może nawet odkurzy podłogę. Rozumieją, że polecenie cmdlet Clean-YourRoom oznaczało to wszystko.

W górnej części okna zobaczysz zielony grot strzałki. Kliknij na to, aby uruchomić polecenie.

ten -Polityka wykonania część mówi Set-ExecutionPolicy jaką politykę ustawić. To parametr. Mówi: „Chcę, abyś pracował zgodnie z tymi wytycznymi i robił dokładnie to. Mówi mu, aby używał określonej polityki RemoteSigned.

ten Zdalnie podpisany zasady stanowią, że PowerShell nie może wykonywać ani uruchamiać żadnego skryptu pobranego z Internetu, chyba że został podpisany przez zaufanego wydawcę.

W okrężny sposób informuje PowerShell, że można uruchomić dowolny skrypt utworzony lokalnie, ponieważ nie musi on być podpisany przez zdalnego zaufanego wydawcę. Teraz twój skrypt PowerShell będzie mógł uruchomić dowolny skrypt, który piszesz na swoim komputerze.

Spójrzmy na skrypt do usuwania plików tymczasowych. Nie jest. tak potężny lub dokładny jak CCleaner, ale CCleaner ma własny zestaw. problemy.

Użyj PowerShell, aby stworzyć miejsce na dysku twardym

Podzielimy ten skrypt wiersz po wierszu, abyście mogli zobaczyć. jak to działa. Na koniec skrypt zostanie wyświetlony w całości, abyś mógł go skopiować. i wklej go, jeśli chcesz.

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

Wszystko, co ma przed sobą znak dolara, jest nazwą zmiennej. Pomyśl o tym jak o portfelu, do którego wkładasz wartościowe rzeczy. Portfel przypomina nam znak dolara, kosztowności brzmi jak zmienna, więc o tym też będziemy pamiętać. Tworzymy portfel lub zmienną o nazwie $TempFileLokalizacja. Znak równości mówi PowerShellowi, co umieścić w tej zmiennej.

W tym przypadku umieszczamy lokalizację lokalizacji plików tymczasowych systemu Windows - C:\Użytkownicy\nazwa użytkownika\AppData\Local\Temp\*. Robimy to z dwóch powodów; jest to lokalizacja, z której zawsze można bezpiecznie usuwać pliki, i użyjemy jej, aby poinformować PowerShell, gdzie musi się udać, aby usunąć pliki.

Tam, gdzie jest napisane nazwa użytkownika. lokalizację, zamień ją na swoją nazwę użytkownika. To nazwa użytkownika, której używasz do logowania. do komputera. Gwiazdka (*) na końcu. to jest dzika karta. To, co reprezentuje, to wszystko w folderze Temp, ponieważ wszystko w folderze Temp jest tymczasowe. i chcemy go usunąć.

Ważne są również cudzysłowy wokół lokalizacji. To. mówi PowerShellowi, że to, co tam jest, jest ciągiem. Pomyśl o sznurku jako sznurku. liter i znaków. Gdyby to były zwykłe liczby, nie używalibyśmy. cytaty.

$TempFile = Pobierz element podrzędny $TempFileLocation - rekurencja

Tworzymy kolejną zmienną. Tym razem użyjemy polecenia, aby wymyślić coś do wstawienia $TempFile zmienny.

Get-ChildItem 

Kolejna rzecz, którą zauważysz w cmdletach, takich jak Get-ChildItem jest to, że jest całkowicie czytelny. Widzisz, jak pierwsze słowo jest czasownikiem? Wszystkie polecenia cmdlet zaczynają się od słów akcji, więc od razu wiesz, co robi. ChildItem to dwa rzeczowniki.

Druga część polecenia cmdlet zawsze powie nam, do czego PowerShell zastosuje akcję. ChildItem oznacza wszystkie dzieci lokalizacji nadrzędnej. To tak, jakby powiedzieć, że pobierz wszystkie pliki znajdujące się w folderze, z plikami będącymi dziećmi, a folderem nadrzędnym.

Z czego cmdlet pobiera elementy podrzędne? Wszystko w zmiennej $TempFileLokalizacja. PowerShell przejdzie do lokalizacji, którą wcześniej umieściliśmy w $TempFileLocation i pobierze wszystkie elementy podrzędne, które się tam znajdują. Następnie umieści je w zmiennej $TempFile.

Więc o co chodzi z -Rekurencja część? To mówi Get-ChildItem przejść przez wszystko w tej lokalizacji. Nie po prostu idź pobrać pliki natychmiast do folderu nadrzędnego. Jeśli w tym folderze znajdują się foldery, pobierz również wszystkie ich dzieci, a także ich dzieci i tak dalej. Zdobędziemy je wszystkie.

$TempFileCount = ($TempFile).count

Tak, tworzymy trzecią zmienną o nazwie $TempFileCounti wstawimy liczbę do tej zmiennej. Gdzie jest numer? Dobrze, ($TempFile).liczba dostanie nam ten numer. Prawdopodobnie zorientowałeś się, że część .count zliczy wszystkie pliki, które właśnie zapisaliśmy w $ TempFile.

Dlaczego to zrobiliśmy? Przede wszystkim dlatego, że dobrze jest wiedzieć, ile bezużytecznych plików usuwamy z resztą skryptu, abyśmy mogli powiedzieć, jak był skuteczny.

if($TempFileCount -eq 0)

Teraz konfigurujemy instrukcję warunkową. Widać, że pyta „czy”. Jeśli co? Czy rzecz w nawiasach jest prawdziwa czy fałszywa. Nawiasy są ważne, w przeciwnym razie If nie wie, co porównać. Tutaj pyta, czy numer, w którym zapisaliśmy $TempFileCount jest równy zero.

ten -równe jest skrótem oznaczającym równe. To rodzaj operatora porównania. To tak, jakby powiedzieć dzieciom: „Jeśli twój pokój jest czysty, świetnie, zrobimy coś…” To stwierdzenie mówi, że jeśli liczba przechowywana w $TempFileCount jest równa zero, wykonaj następną rzecz.

{Write-Host "Brak plików w folderze $TempFileLocation" -ForegroundColor Green}

Tak się stanie, jeśli $TempFileCount wynosi zero. Nawiasy klamrowe są ważne. Mówią PowerShellowi, aby robił tylko to, co jest w nich, jeśli $TempFileCount jest równe zero.

Napisze do hosta lub ekranu „Brak plików w folderze C: \ Users \ nazwa użytkownika \ Appdata \ Local \ Temp \ *”. Parametr na końcu, –Kolor pierwszego planu mówi PowerShellowi, aby tekst był zielony. To po prostu ułatwia odróżnienie od komunikatu o błędzie, który zwykle jest czerwony.

W przeciwnym razie

Wiesz, co jeszcze znaczy. To jest część „Lepiej czyścić twój pokój, bo inaczej…” podczas sprawdzania, czy twoje dziecko posprzątało swój pokój. Tak się stanie, jeśli $TempFileCount nie jest zerem.

{$TempFile | Usuń element -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

To mówi przejdź do bieżącej lokalizacji zapisanej w $TempFile. Pionowa linia za nią nazywana jest rurą. Działa trochę jak prawdziwy potok, ponieważ mówi PowerShellowi, aby przelał zawartość $ TempFile do cmdletu, tak jakby była to woda doprowadzona do pralki. Następnie polecenie cmdlet Usuń przedmiot robi to, co mówi; usuwa wszystko, co znajduje się w tej lokalizacji.

ten -Co jeśli parametr jest bardzo ważny na tym etapie. Mówi PowerShellowi, aby uruchomił polecenie, ale tylko wypróbuj, niczego nie usuwaj. Po prostu pokaż nam, co by się stało, gdybyśmy naprawdę to zrobili.

Pozwala to testować polecenia bez zmiany czegokolwiek na komputerze. Zostaw -WhatIf tam, dopóki nie będziesz pewien, że skrypt zrobi to, co chcesz, i nic więcej. Następnie po prostu usuń to, a skrypt wykona swoje zadanie.

Parametr -Potwierdź: $false powoduje, że skrypt nie pyta, czy naprawdę chcesz usunąć plik. Wiesz co -Rekurencja robi. -Siła oznacza usunięcie tej rzeczy bez względu na wszystko. -Akcja ostrzegawcza jest ustawione na Po cichuKontynuuj.

Zapobiega to wyświetlaniu przez skrypt ostrzeżeń o tym, co usuwasz. -Akcja błędu jest ustawione na Po cichuKontynuuj tak, że jeśli w procesie wystąpi jakikolwiek błąd, po prostu będzie się ciągnął.

Teraz jesteśmy w ostatniej linii.

Write-Host „Wyczyszczono pliki $ TempFileCount w folderze $ TempFileLocation” - ForegroundColor Green}

Tak jak Zapis-host zrobił to po raz pierwszy, wyświetli następujące zdanie, więc wiemy, co się stało. Powie nam, ile plików zostało usuniętych z folderu, który właśnie przetworzył, i zrobi to na zielono, aby było to łatwe do zauważenia.

Spójrzmy na cały skrypt:

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Pobierz element podrzędny $TempFileLocation - rekurencja
$TempFileCount = ($TempFile).count
if($TempFileCount -eq "0") {
Write-Host "Brak plików w folderze $TempFileLocation" - ForegroundColor Green
}
W przeciwnym razie {
$TempFile | Usuń element - Potwierdź: $false - Rekurencja - Wymuś - Akcja ostrzegawcza dyskretnieKontynuuj - Akcja błędu dyskretnieKontynuuj
Write-Host „Wyczyszczono pliki $ TempFileCount w folderze $ TempFileLocation” - ForegroundColor Green
}

Możesz skopiować i wkleić to do swojego PowerShell ISE i zapisać jako coś takiego usuń-TemporaryFiles.ps1. Równie dobrze możesz trzymać się konwencji nazewnictwa poleceń cmdlet teraz, gdy je rozumiesz.

Jeśli kod nie działa z jakiegoś powodu, możesz również pobierz skrypt PowerShell stworzyliśmy i po prostu go uruchamiamy. Po prostu rozpakuj go najpierw, aby wyświetlić plik skryptu.

Za każdym razem, gdy chcesz uruchomić ten skrypt, kliknij go prawym przyciskiem myszy i wybierz Uruchom z PowerShell. Konsola PowerShell wyskoczy na sekundę lub dwie, podczas gdy twój skrypt wykona swoje zadanie, a następnie zniknie, jeśli nie ma błędów.

Gdzie mogę dowiedzieć się więcej o PowerShell?

Wydaje się, że to dużo! Jak na twój pierwszy skrypt PowerShell to całkiem sporo. Jeśli dotarłeś tak daleko, oklaskiwać siebie. Dużo się dzisiaj nauczyłeś, ale teraz chcesz dowiedzieć się więcej. To wspaniale!

Istnieje wiele zasobów w Internecie, aby dowiedzieć się więcej o PowerShell. Dobrym miejscem na rozpoczęcie jest nasz artykuł „Wygeneruj listę programów startowych za pomocą wiersza poleceń lub PowerShell”. Następnie sprawdź te inne zasoby:

  • Pierwsze kroki z Microsoft PowerShell – Wirtualna Akademia Microsoft
  • Samouczek PowerShell – TutorialsPoint.com

Witamy w Help Desk Geek - blogu pełnym porad technicznych od zaufanych ekspertów technicznych. Mamy tysiące artykułów i przewodników, które pomogą Ci rozwiązać każdy problem. Nasze artykuły zostały przeczytane ponad 150 milionów razy od momentu uruchomienia w 2008 roku.

Nienawidzimy też spamu, wypisz się w dowolnym momencie.

Najlepsi edytorzy przecen: wszystkie platformy i online
Najlepsi edytorzy przecen: wszystkie platformy i online

Szukasz edytora Markdown? Jeśli tak, to miejmy nadzieję, że wiesz jak korzystać z Markdown i co t...

Co to jest WinRAR? Czym różni się od WinZip
Co to jest WinRAR? Czym różni się od WinZip

Jeśli kiedykolwiek musiałeś rozpakować plik, prawdopodobnie znasz program WINRAR lub WinZip. Oba ...

Antywirus dla Chromebooka: dlaczego go potrzebujesz i najlepsze opcje
Antywirus dla Chromebooka: dlaczego go potrzebujesz i najlepsze opcje

Chromebooki są niedrogie, niezawodne, przyjazne dla użytkownika i wygodne, ale są też bardzo bezp...