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

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

Kto nie żałuje, że nie mogą być czarodziejem i wypowiedzieć kilka słów, aby wydarzyły się magiczne rzeczy? Cóż, nie jesteśmy w stanie pokazać ci, jak być czarodziejem, ale możemy pokazać, jak zrobić małą magię komputerową.

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ędu na bezpieczeństwo.

Spis treści

    Po raz pierwszy z niego korzystamy, uruchomimy go jako administrator. Aby to zrobić, musisz najpierw mieć prawa administratora na swoim komputerze. W Twoim Menu Start, Kliknij prawym przyciskiem myszy PowerShell Ise, Następnie kliknij Uruchom jako administrator.

    Możesz dostać Kontrola dostępu użytkownika (UAC) Ostrzeżenie wyskakujące z pytaniem, czy jesteś pewien, że chcesz to zrobić. Kliknij Tak.

    Teraz patrzysz na Ide PowerShell. Górna panel okna (1) to panel skryptowy. Tutaj napiszesz swój skrypt. Dolna panel okna (2) jest obszarem konsoli. Podczas testowania skryptu zobaczysz dane wyjściowe w tym panelu.

    W tym miejscu zobaczysz komunikaty o błędach i, które pomogą Ci naprawić i poprawić skrypty. Panel po prawej stronie okna (3) to dodatek poleceń. Pomyśl o tym jak o słowniku wszystkich dostępnych dla Ciebie poleceń PowerShell.

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

    W oknie skryptowym skopiuj i wklej następujące:

    Set -executionPolicy -executionPolicy zdalnie

    Set-executionPolicy część nazywa się cmdlet (wymawiane komendanta). CMDLETS to potężne rzeczy. Pomyśl o nich jako o krótkich poleceń, które możesz dać Windows, a Windows pójdzie kilka bardziej skomplikowanych rzeczy, aby zaspokoić swoje polecenie.

    Analogia będzie powiedziała twojemu dziecku, żeby posprzątała pokój. Krótko i na temat. Jeśli twoje dziecko jest dobrze zorientowane w czyszczeniu pokoju, pójdzie i położy łóżko, wkładają pranie do kosza, odkładają zabawki i książki, a może nawet odkurzyć podłogę. Rozumieją, że cmdlet czysty pokój miał to wszystko.

    Na górze okna zobaczysz zieloną strzałkę. Kliknij to, aby uruchomić polecenie.

    -ExecutionPolicy Część mówi Set-executionPolicy Jakie zasady ustawić. To parametr. Mówi: „Chcę, żebyś pracował w ramach tych wytycznych i konkretnie to zrobił. Mówi, że używa konkretnej polityki zdalnej.

    Zdalne Polityka stwierdza, że ​​PowerShell nie może wykonywać ani uruchomić żadnego skryptu, który został pobrany z Internetu, chyba że został podpisany przez zaufanego wydawcę.

    W sposób ronny mówi PowerShell, że dobrze jest uruchomić dowolny skrypt utworzony lokalnie, ponieważ nie muszą być podpisane przez zdalnego zaufanego wydawcy. Teraz twój skrypt PowerShell będzie mógł uruchomić dowolny skrypt, który piszesz na komputerze.

    Spójrzmy na skrypt, aby usunąć pliki tymczasowe. Nie jest tak potężny ani dokładny jak CCLEALER, ale CCLEALER ma własny zestaw problemów.

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

    Rozbijemy ten skrypt, wiersz po linii, abyś mógł zobaczyć, jak to działa. Na koniec skrypt zostanie wyświetlony całkowicie, abyś mógł go skopiować i wkleić, jeśli chcesz.

    $ TempFileLocation = "C: \ Users \ nazwa użytkownika \ AppData \ Local \ Temp \*"

    Wszystko z znakiem dolara przed nim jest zmienną nazwą. Pomyśl o tym jak o portfelu, aby włożyć cenne rzeczy. Portfel przypomina nam znak dolara, kosztowności brzmi jak zmienna, więc pamiętamy też o tym. Tworzymy portfel lub zmienną, nazwaną $ TempfileLocation. Znak równy mówi PowerShell, co włożyć do tej zmiennej.

    W takim przypadku umieszczamy lokalizację lokalizacji plików tymczasowych Windows - C: \ Users \ nazwa użytkownika \ appData \ local \ Temp \*. Robimy to z dwóch powodów; Jest to lokalizacja, z której zawsze można bezpiecznie usunąć pliki, a my użyjemy ich, aby powiedzieć PowerShell, gdzie musi się usunąć, aby usunąć pliki.

    Gdzie mówi nazwa użytkownika w tej lokalizacji, zamień ją na nazwę użytkownika. To jest nazwa użytkownika, której używasz do logowania się na komputerze. Gwiazdka (*) na końcu jest dzika karta. To reprezentuje wszystko w temperaturze folderu, ponieważ wszystko w folderze tymczasowym jest tymczasowe i chcemy to usunąć.

    Ważne są również podwójne kwoty wokół lokalizacji. To mówi PowerShell, że to, co tam jest. Pomyśl o łańcuchu jako o ciągach i znakach. Gdyby to były zwykłe liczby, nie użylibyśmy cytatów.

    $ Tempfile = get -childitem $ tempfilelocation -recurse

    Tworzymy kolejną zmienną. Tym razem użyjemy polecenia, aby wymyślić coś, co mogłoby włożyć $ Tempfile zmienny.

    Get-ChildItem 

    Kolejna rzecz, którą zauważysz na temat CMDLETS Get-ChildItem jest to, że jest to całkowicie czytelne. Zobacz, jak pierwsze słowo jest czasownikiem? Wszystkie cmdlets zaczynają się od słów akcji, więc od razu wiesz, co to robi. ChildItem to dwa rzeczowniki.

    Druga część cmdlet zawsze powie nam, co PowerShell zastosuje działanie. ChildItem oznacza wszystkie dzieci lokalizacji rodzica. To tak, jakby powiedzieć, że weź wszystkie pliki, które są w folderze, a pliki to dzieci, a folder jest rodzicem.

    Co to jest cmdlet, który otrzymuje przedmioty dziecięce? Wszystko w zmiennej $ TempfileLocation. PowerShell przejdzie do miejsca, w którym wprowadziliśmy wcześniej tempfileLocation i otrzyma wszystkie przedmioty, które tam są. Następnie umieści je w zmiennej $ Tempfile.

    Więc co jest z -Powrót część? To mówi Get-ChildItem Aby przejść przez wszystko w tym miejscu. Nie idź po prostu plik natychmiast w folderze nadrzędnym. Jeśli w tym folderze są foldery, weź wszystkie ich dzieci, ich dzieci i tak dalej. Dostaniemy je wszystkie.

    $ TempFileCount = ($ tempfile).liczyć

    Tak, tworzymy trzecią zmienną o nazwie $ TempfileCount, I umieścimy liczbę w tej zmiennej. Gdzie jest liczba? Dobrze, ($ Tempfile).liczyć da nam ten numer. Prawdopodobnie zorientowałeś się, że .Część Count będzie liczyć wszystkie pliki, które właśnie przechowyliśmy w $ tempfile.

    Dlaczego to zrobiliśmy? Głównie dlatego, że miło jest wiedzieć, ile bezużytecznych plików sprzątamy z resztą skryptu, abyśmy mogli powiedzieć, jak skuteczne było.

    if ($ tempfileCount -eq 0)

    Teraz konfigurujemy instrukcję warunkową. Możesz zobaczyć, że pyta „czy”. Jeśli co? Jeśli rzecz w nawiasach jest prawdziwa lub fałszywa. Wsporniki są ważne, w przeciwnym razie nie wie, co porównać. Tutaj pyta, czy liczba, którą przechowyliśmy $ TempfileCount jest równe zero.

    -Eq jest skrótem dla równych. To rodzaj operatora porównawczego. To tak, jakby powiedzieć swoim dzieciom: „Jeśli twój pokój jest czysty, świetnie, zrobimy coś…” To stwierdzenie mówi, że jeśli liczba była przechowywana w $ TEMPFILECOUNT, jest równa do zera, zrobi następną rzecz.

    Write -host "Nie ma plików w folderze $ tempFileLocation" -ForegroundColor Green

    To się stanie, jeśli $ TempfileCount jest zero. Kręcone wsporniki są ważne. Mówią PowerShell, aby zrobił tylko to, co jest w nich, jeśli $ tempfileCount będzie równy zero.

    Napisze do hosta lub ekranu: „Nie ma plików w folderze C: \ Users \ nazwa użytkownika \ AppData \ Local \ Temp \*”. Parametr na końcu, -PIERWSZA każe PowerShellowi, aby tekst był zielony. To po prostu ułatwia odróżnienie od komunikatu o błędzie, który jest zwykle czerwony.

    W przeciwnym razie

    Wiesz, co jeszcze oznacza. To jest „Twój pokój lepiej bądź czysty lub…” Część sprawdzania, czy twoje dziecko posprzątało pokój. Tak się stanie, jeśli $ TempfileCount nie jest zero.

    $ TEMPFILE | Usuń -element -whatif -Confirm: $ false -recurse -Force -Warningaction SimelyContinue -erroraction SimelyContinue

    To mówi, że przejdź do aktualnej lokalizacji przechowywanej w $ Tempfile. Linia pionowa po nazwie rurą. Działa trochę jak prawdziwa rura, jak mówi PowerShell, aby przekierował zawartość $ tempfile do cmdlet, jakby była to woda do pralki. Następnie cmdlet Usuń przedmiot robi to, co mówi; usuwa wszystko, co jest w tym miejscu.

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

    To pozwala testować polecenia bez zmiany niczego na komputerze. Zostaw tam -co, dopóki nie poczujesz się komfortowo, że scenariusz zrobi to, co chcesz, i nic więcej. Następnie po prostu usuń to, a skrypt wykonuje swoje zadanie.

    Parametr -Potwierdź: $ false Zatrzymuje skrypt przed pytaniem, czy naprawdę chcesz usunąć plik. Wiesz co -Powrót robi. -Siła oznacza usunięcie tej rzeczy bez względu na wszystko. -Ostrzeżenie jest ustawione na CILETY CONTINE.

    To uniemożliwia skryptowi ostrzeżenia o tym, co usuwasz. -Błąd jest ustawione na CILETY CONTINE tak, że jeśli wystąpi jakikolwiek błąd, po prostu ciągle się zrywa.

    Teraz jesteśmy na ostatniej linii.

    Write -host „Wyczyściłem pliki $ tempFileCount w folderze $ TEMPFILELOCation” -ForegroundColor Green

    Tak jak Write-host Czy po raz pierwszy wyprowadzi 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 łatwo było zauważyć.

    Spójrzmy na scenariusz:

    $ TempFileLocation = "C: \ Users \ guymcd \ appData \ local \ temp \*"
    $ Tempfile = get -childitem $ tempfilelocation -recurse
    $ TempFileCount = ($ tempfile).liczyć
    if ($ tempfileCount -eq "0")
    Write -host „Nie ma plików w folderze $ TEMPFILELOCation” - ForegroundColor Green

    W przeciwnym razie
    $ Tempfile | Usuń -element -confirm: $ false -recurse -force -Warningaction SimelyContinue -erroraction SimelyContinue
    Write -host „Wyczyściłem pliki $ tempfileCount w folderze $ TEMPFILELOCation” -ForegroundColor Green

    Możesz skopiować i wkleić to do swojego PowerShell ISE i zapisać to jako coś takiego Usuń Fiły Temporary.PS1. Równie dobrze możesz trzymać się konwencji nazewnictwa CMDLETS Teraz, kiedy je rozumiesz.

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

    Ilekroć chcesz uruchomić ten skrypt, po prostu kliknij go prawym przyciskiem myszy i wybierz Uruchom z Powershell. Konsola PowerShell pojawi się przez sekundę lub dwie, podczas gdy twój skrypt robi swoje, a następnie zniknie, jeśli nie będzie błędów.

    Gdzie mogę nauczyć się więcej PowerShell?

    To wydaje się dużo! Dla twojego pierwszego skryptu PowerShell jest to dość. Jeśli dotarłeś tak daleko, oklaskuj się. Wiele się dzisiaj nauczyłeś, ale teraz chcesz dowiedzieć się więcej. To wspaniale!

    W Internecie jest wiele zasobów, aby dowiedzieć się więcej o PowerShell. Dobrym miejscem do rozpoczęcia jest nasz artykuł: „Wygeneruj listę programów startupowych za pośrednictwem wiersza poleceń lub PowerShell”. Następnie sprawdź te inne zasoby:

    • Pierwsze kroki z Microsoft PowerShell - Microsoft Virtual Academy
    • Samouczek PowerShell - Tutorialspoint.com